home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
QRZ! Ham Radio 8
/
QRZ Ham Radio Callsign Database - Volume 8.iso
/
pc
/
files
/
dsp
/
a5611.tz
/
a5611
/
lex.yy.c
< prev
next >
Wrap
Text File
|
1992-08-11
|
79KB
|
3,978 lines
# include "stdio.h"
# define U(x) x
# define NLSTATE yyprevious=YYNEWLINE
# define BEGIN yybgin = yysvec + 1 +
# define INITIAL 0
# define YYLERR yysvec
# define YYSTATE (yyestate-yysvec-1)
# define YYOPTIM 1
# define YYLMAX 200
# define output(c) putc(c,yyout)
# define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
# define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;}
# define yymore() (yymorfg=1)
# define ECHO fprintf(yyout, "%s",yytext)
# define REJECT { nstr = yyreject(); goto yyfussy;}
int yyleng; extern char yytext[];
int yymorfg;
extern char *yysptr, yysbuf[];
int yytchar;
FILE *yyin ={stdin}, *yyout ={stdout};
extern int yylineno;
struct yysvf {
struct yywork *yystoff;
struct yysvf *yyother;
int *yystops;};
struct yysvf *yyestate;
extern struct yysvf yysvec[], *yybgin;
/*
* Copyright (C) 1990-1992 Quinn C. Jensen
*
* Permission to use, copy, modify, distribute, and sell this software
* and its documentation for any purpose is hereby granted without fee,
* provided that the above copyright notice appear in all copies and
* that both that copyright notice and this permission notice appear
* in supporting documentation. The author makes no representations
* about the suitability of this software for any purpose. It is
* provided "as is" without express or implied warranty.
*
*/
# define YYNEWLINE 10
yylex(){
int nstr; extern int yyprevious;
while((nstr = yylook()) >= 0)
yyfussy: switch(nstr){
case 0:
if(yywrap()) return(0); break;
case 1:
;
break;
case 2:
{curline++; RET(EOL);}
break;
case 3:
{RET(EOS);}
break;
case 4:
{RET(COMMENT);}
break;
case 5:
{RET(XMEM);}
break;
case 6:
{RET(YMEM);}
break;
case 7:
{RET(LMEM);}
break;
case 8:
{RET(PMEM);}
break;
case 9:
{RET(A10);}
break;
case 10:
{RET(AAAA);}
break;
case 11:
{RET(B10);}
break;
case 12:
{RET(BBBB);}
break;
case 13:
{RET(AABB);}
break;
case 14:
{RET(BBAA);}
break;
case 15:
{RET(XXXX);}
break;
case 16:
{RET(YYYY);}
break;
case 17:
{RET(SR);}
break;
case 18:
{RET(MR);}
break;
case 19:
{RET(CCR);}
break;
case 20:
{RET(OMR);}
break;
case 21:
{RET(SP);}
break;
case 22:
{RET(SSH);}
break;
case 23:
{RET(SSL);}
break;
case 24:
{RET(LA);}
break;
case 25:
{RET(LC);}
break;
case 26:
{yylval.ival = atoi(&yytext[1]); RET(AREG);}
break;
case 27:
{yylval.ival = atoi(&yytext[1]); RET(BREG);}
break;
case 28:
{yylval.ival = atoi(&yytext[1]); RET(MREG);}
break;
case 29:
{yylval.ival = atoi(&yytext[1]); RET(NREG);}
break;
case 30:
{yylval.ival = atoi(&yytext[1]); RET(RREG);}
break;
case 31:
{yylval.ival = atoi(&yytext[1]); RET(XREG);}
break;
case 32:
{yylval.ival = atoi(&yytext[1]); RET(YREG);}
break;
case 33:
{yylval.n.type = INT; yylval.n.val.i = strtol(&yytext[1], 0, 16); RET(CHEX);}
break;
case 34:
{yylval.n.type = FLT; yylval.n.val.f = atof(yytext); RET(FRAC);}
break;
case 35:
{yylval.n.type = INT; yylval.n.val.i = atoi(yytext); RET(CDEC);}
break;
case 36:
{RET(OP_ABS);}
break;
case 37:
{RET(OP_ADC);}
break;
case 38:
{RET(OP_ADD);}
break;
case 39:
{RET(OP_ADDL);}
break;
case 40:
{RET(OP_ADDR);}
break;
case 41:
{RET(OP_ASL);}
break;
case 42:
{RET(OP_ASR);}
break;
case 43:
{RET(OP_CLR);}
break;
case 44:
{RET(OP_CMP);}
break;
case 45:
{RET(OP_CMPM);}
break;
case 46:
{RET(OP_DIV);}
break;
case 47:
{RET(OP_MAC);}
break;
case 48:
{RET(OP_MACR);}
break;
case 49:
{RET(OP_MPY);}
break;
case 50:
{RET(OP_MPYR);}
break;
case 51:
{RET(OP_NEG);}
break;
case 52:
{RET(OP_NORM);}
break;
case 53:
{RET(OP_RND);}
break;
case 54:
{RET(OP_SBC);}
break;
case 55:
{RET(OP_SUB);}
break;
case 56:
{RET(OP_SUBL);}
break;
case 57:
{RET(OP_SUBR);}
break;
case 58:
{yylval.cond = 0x0; RET(OP_TCC);}
break;
case 59:
{yylval.cond = 0x0; RET(OP_TCC);}
break;
case 60:
{yylval.cond = 0x1; RET(OP_TCC);}
break;
case 61:
{yylval.cond = 0x2; RET(OP_TCC);}
break;
case 62:
{yylval.cond = 0x3; RET(OP_TCC);}
break;
case 63:
{yylval.cond = 0x4; RET(OP_TCC);}
break;
case 64:
{yylval.cond = 0x5; RET(OP_TCC);}
break;
case 65:
{yylval.cond = 0x6; RET(OP_TCC);}
break;
case 66:
{yylval.cond = 0x7; RET(OP_TCC);}
break;
case 67:
{yylval.cond = 0x8; RET(OP_TCC);}
break;
case 68:
{yylval.cond = 0x8; RET(OP_TCC);}
break;
case 69:
{yylval.cond = 0x9; RET(OP_TCC);}
break;
case 70:
{yylval.cond = 0xA; RET(OP_TCC);}
break;
case 71:
{yylval.cond = 0xB; RET(OP_TCC);}
break;
case 72:
{yylval.cond = 0xC; RET(OP_TCC);}
break;
case 73:
{yylval.cond = 0xD; RET(OP_TCC);}
break;
case 74:
{yylval.cond = 0xE; RET(OP_TCC);}
break;
case 75:
{yylval.cond = 0xF; RET(OP_TCC);}
break;
case 76:
{RET(OP_TFR);}
break;
case 77:
{RET(OP_TST);}
break;
case 78:
{RET(OP_AND);}
break;
case 79:
{RET(OP_ANDI);}
break;
case 80:
{RET(OP_EOR);}
break;
case 81:
{RET(OP_LSL);}
break;
case 82:
{RET(OP_LSR);}
break;
case 83:
{RET(OP_NOT);}
break;
case 84:
{RET(OP_OR);}
break;
case 85:
{RET(OP_ORI);}
break;
case 86:
{RET(OP_ROL);}
break;
case 87:
{RET(OP_ROR);}
break;
case 88:
{RET(OP_BCLR);}
break;
case 89:
{RET(OP_BSET);}
break;
case 90:
{RET(OP_BCHG);}
break;
case 91:
{RET(OP_BTST);}
break;
case 92:
{RET(OP_DO);}
break;
case 93:
{RET(OP_ENDDO);}
break;
case 94:
{RET(OP_LUA);}
break;
case 95:
{RET(OP_MOVE);}
break;
case 96:
{RET(OP_MOVEC);}
break;
case 97:
{RET(OP_MOVEM);}
break;
case 98:
{RET(OP_MOVEP);}
break;
case 99:
{RET(OP_INCLUDE);}
break;
case 100:
{RET(OP_ILLEGAL);}
break;
case 101:
{yylval.cond = 0x0; RET(OP_JCC);}
break;
case 102:
{yylval.cond = 0x0; RET(OP_JCC);}
break;
case 103:
{yylval.cond = 0x1; RET(OP_JCC);}
break;
case 104:
{yylval.cond = 0x2; RET(OP_JCC);}
break;
case 105:
{yylval.cond = 0x3; RET(OP_JCC);}
break;
case 106:
{yylval.cond = 0x4; RET(OP_JCC);}
break;
case 107:
{yylval.cond = 0x5; RET(OP_JCC);}
break;
case 108:
{yylval.cond = 0x6; RET(OP_JCC);}
break;
case 109:
{yylval.cond = 0x7; RET(OP_JCC);}
break;
case 110:
{yylval.cond = 0x8; RET(OP_JCC);}
break;
case 111:
{yylval.cond = 0x8; RET(OP_JCC);}
break;
case 112:
{yylval.cond = 0x9; RET(OP_JCC);}
break;
case 113:
{yylval.cond = 0xA; RET(OP_JCC);}
break;
case 114:
{yylval.cond = 0xB; RET(OP_JCC);}
break;
case 115:
{yylval.cond = 0xC; RET(OP_JCC);}
break;
case 116:
{yylval.cond = 0xD; RET(OP_JCC);}
break;
case 117:
{yylval.cond = 0xE; RET(OP_JCC);}
break;
case 118:
{yylval.cond = 0xF; RET(OP_JCC);}
break;
case 119:
{RET(OP_JMP);}
break;
case 120:
{RET(OP_JCLR);}
break;
case 121:
{RET(OP_JSET);}
break;
case 122:
{yylval.cond = 0x0; RET(OP_JSCC);}
break;
case 123:
{yylval.cond = 0x0; RET(OP_JSCC);}
break;
case 124:
{yylval.cond = 0x1; RET(OP_JSCC);}
break;
case 125:
{yylval.cond = 0x2; RET(OP_JSCC);}
break;
case 126:
{yylval.cond = 0x3; RET(OP_JSCC);}
break;
case 127:
{yylval.cond = 0x4; RET(OP_JSCC);}
break;
case 128:
{yylval.cond = 0x5; RET(OP_JSCC);}
break;
case 129:
{yylval.cond = 0x6; RET(OP_JSCC);}
break;
case 130:
{yylval.cond = 0x7; RET(OP_JSCC);}
break;
case 131:
{yylval.cond = 0x8; RET(OP_JSCC);}
break;
case 132:
{yylval.cond = 0x8; RET(OP_JSCC);}
break;
case 133:
{yylval.cond = 0x9; RET(OP_JSCC);}
break;
case 134:
{yylval.cond = 0xA; RET(OP_JSCC);}
break;
case 135:
{yylval.cond = 0xB; RET(OP_JSCC);}
break;
case 136:
{yylval.cond = 0xC; RET(OP_JSCC);}
break;
case 137:
{yylval.cond = 0xD; RET(OP_JSCC);}
break;
case 138:
{yylval.cond = 0xE; RET(OP_JSCC);}
break;
case 139:
{yylval.cond = 0xF; RET(OP_JSCC);}
break;
case 140:
{RET(OP_JSR);}
break;
case 141:
{RET(OP_JSCLR);}
break;
case 142:
{RET(OP_JSSET);}
break;
case 143:
{RET(OP_NOP);}
break;
case 144:
{RET(OP_REP);}
break;
case 145:
{RET(OP_RESET);}
break;
case 146:
{RET(OP_RTI);}
break;
case 147:
{RET(OP_RTS);}
break;
case 148:
{RET(OP_STOP);}
break;
case 149:
{RET(OP_SWI);}
break;
case 150:
{RET(OP_WAIT);}
break;
case 151:
{RET(OP_EQU);}
break;
case 152:
{RET(OP_ORG);}
break;
case 153:
{RET(OP_DC);}
break;
case 154:
{RET(OP_END);}
break;
case 155:
{RET(OP_PAGE);}
break;
case 156:
{RET(OP_PSECT);}
break;
case 157:
{RET(OP_ALIGN);}
break;
case 158:
{yylval.sval = strsave(yytext); RET(SYM);}
break;
case 159:
{yylval.cval = '\b'; RET(CHAR);}
break;
case 160:
{yylval.cval = '\f'; RET(CHAR);}
break;
case 161:
{yylval.cval = '\n'; RET(CHAR);}
break;
case 162:
{yylval.cval = '\r'; RET(CHAR);}
break;
case 163:
{yylval.cval = '\t'; RET(CHAR);}
break;
case 164:
{yylval.cval = '\\'; RET(CHAR);}
break;
case 165:
{yylval.cval = yytext[1]; RET(CHAR);}
break;
case 166:
case 167:
{yylval.sval = (char *)fixstring(yytext);
yylval.sval = strsave(yylval.sval);
RET(STRING);}
break;
case 168:
{RET(SHL);}
break;
case 169:
{RET(SHR);}
break;
case 170:
{RET(yytext[0]);}
break;
case -1:
break;
default:
fprintf(yyout,"bad switch yylook %d",nstr);
} return(0); }
/* end of yylex */
#undef input
#define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):lgetc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
#define INLINE 1024
char inline[INLINE], *ip = NULL;
lgetc(fp)
FILE *fp;
{
int c;
if(NOT ip) {
if(NOT fgets(inline, INLINE, fp))
return(EOF);
rmcr(inline);
ip = inline;
}
c = *ip;
if(ldebug) {
printf("i='%c'(%x)", c, c);
fflush(stdout);
}
switch(c) {
case '\0':
c = '\n';
ip = NULL;
break;
default:
ip++;
break;
}
return(c);
}
int yyvstop[] ={
0,
170,
0,
1,
170,
0,
2,
0,
170,
0,
170,
0,
170,
0,
170,
0,
170,
0,
35,
170,
0,
170,
-4,
0,
170,
0,
170,
0,
3,
170,
0,
10,
158,
170,
0,
12,
158,
170,
0,
158,
170,
0,
158,
170,
0,
158,
170,
0,
158,
170,
0,
158,
170,
0,
158,
170,
0,
158,
170,
0,
158,
170,
0,
158,
170,
0,
158,
170,
0,
158,
170,
0,
158,
170,
0,
158,
170,
0,
158,
170,
0,
158,
170,
0,
15,
158,
170,
0,
16,
158,
170,
0,
1,
0,
166,
0,
33,
0,
34,
0,
35,
0,
-4,
0,
4,
0,
168,
0,
169,
0,
26,
158,
0,
26,
158,
0,
158,
0,
13,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
27,
158,
0,
27,
158,
0,
14,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
153,
158,
0,
158,
0,
92,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
7,
0,
24,
158,
0,
25,
158,
0,
158,
0,
158,
0,
28,
158,
0,
158,
0,
158,
0,
158,
0,
18,
158,
0,
29,
158,
0,
158,
0,
158,
0,
158,
0,
84,
158,
0,
8,
0,
158,
0,
158,
0,
30,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
21,
158,
0,
17,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
31,
158,
0,
5,
0,
32,
158,
0,
6,
0,
165,
0,
34,
0,
9,
158,
0,
36,
158,
0,
37,
158,
0,
38,
158,
0,
158,
0,
78,
158,
0,
41,
158,
0,
42,
158,
0,
11,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
19,
158,
0,
43,
158,
0,
44,
158,
0,
46,
158,
0,
154,
158,
0,
80,
158,
0,
151,
158,
0,
158,
0,
158,
0,
101,
158,
0,
158,
0,
110,
158,
0,
107,
158,
0,
113,
158,
0,
116,
158,
0,
103,
158,
0,
109,
158,
0,
102,
158,
0,
108,
158,
0,
118,
158,
0,
111,
158,
0,
117,
158,
0,
112,
158,
0,
114,
158,
0,
119,
158,
0,
104,
158,
0,
106,
158,
0,
115,
158,
0,
105,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
158,
0,
140,
158,
0,
158,
0,
81,
158,
0,
82,
158,
0,
94,
158,
0,
47,
158,
0,
158,
0,
49,
158,
0,
51,
158,
0,
143,
158,
0,
158,
0,
83,
158,
0,
20,
158,
0,
152,
158,
0,
85,
158,
0,
158,
0,
158,
0,
144,
158,
0,
158,
0,
53,
158,
0,
86,
158,
0,
87,
158,
0,
146,
158,
0,
147,
158,
0,
54,
158,
0,
22,
158,
0,
23,
158,
0,
158,
0,
55,
158,
0,
149,
158,
0,
58,
158,
0,
67,
158,
0,
64,
158,
0,
70,
158,
0,
73,
158,
0,
76,
158,
0,
60,
158,
0,
66,
158,
0,
59,
158,
0,
65,
158,
0,
75,
158,
0,
68,
158,
0,
74,
158,
0,
69,
158,
0,
71,
158,
0,
61,
158,
0,
63,
158,
0,
72,
158,
0,
62,
158,
0,
77,
158,
0,
158,
0,
167,
0,
164,
167,
0,
159,
167,
0,
160,
167,
0,
161,
167,
0,
162,
167,
0,
163,
167,
0,
39,
158,
0,
40,
158,
0,
158,
0,
79,
158,
0,
90,
158,
0,
88,
158,
0,
89,
158,
0,
91,
158,
0,
45,
158,
0,
158,
0,
158,
0,
158,
0,
120,
158,
0,
122,
158,
0,
158,
0,
131,
158,
0,
128,
158,
0,
134,
158,
0,
137,
158,
0,
121,
158,
0,
124,
158,
0,
130,
158,
0,
123,
158,
0,
129,
158,
0,
139,
158,
0,
132,
158,
0,
138,
158,
0,
133,
158,
0,
135,
158,
0,
125,
158,
0,
127,
158,
0,
136,
158,
0,
126,
158,
0,
158,
0,
48,
158,
0,
95,
158,
0,
50,
158,
0,
52,
158,
0,
155,
158,
0,
158,
0,
158,
0,
148,
158,
0,
56,
158,
0,
57,
158,
0,
150,
158,
0,
157,
158,
0,
93,
158,
0,
158,
0,
158,
0,
141,
158,
0,
142,
158,
0,
96,
158,
0,
97,
158,
0,
98,
158,
0,
156,
158,
0,
145,
158,
0,
158,
0,
158,
0,
100,
158,
0,
99,
158,
0,
0};
# define YYTYPE int
struct yywork { YYTYPE verify, advance; } yycrank[] ={
0,0, 0,0, 1,3, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 1,4, 1,5,
0,0, 4,35, 0,0, 0,0,
0,0, 0,0, 0,0, 36,0,
37,0, 128,0, 0,0, 0,0,
129,0, 130,0, 0,0, 131,0,
0,0, 132,0, 133,0, 0,0,
0,0, 134,0, 0,0, 1,6,
4,35, 1,7, 0,0, 0,0,
1,8, 0,0, 0,0, 36,37,
37,37, 0,0, 1,9, 1,10,
0,0, 1,11, 128,238, 1,11,
1,11, 129,238, 130,239, 41,43,
131,240, 1,11, 132,241, 133,242,
1,12, 1,13, 134,243, 1,14,
0,0, 1,15, 1,16, 1,17,
1,18, 1,19, 1,20, 1,21,
1,21, 1,21, 1,22, 1,23,
1,21, 1,24, 1,25, 1,26,
1,27, 1,28, 1,21, 1,29,
1,30, 1,31, 1,21, 1,21,
1,32, 1,33, 1,34, 2,6,
6,36, 2,7, 13,47, 14,48,
2,8, 0,0, 0,0, 0,0,
6,36, 6,0, 2,9, 2,10,
9,41, 9,41, 9,41, 9,41,
9,41, 9,41, 9,41, 9,41,
9,41, 9,41, 135,0, 238,0,
2,12, 2,13, 0,0, 2,14,
239,0, 2,15, 240,0, 241,0,
242,0, 6,37, 10,42, 10,42,
10,42, 10,42, 10,42, 10,42,
10,42, 10,42, 10,42, 10,42,
0,0, 0,0, 0,0, 6,36,
0,0, 6,36, 6,36, 135,244,
238,238, 0,0, 0,0, 6,36,
0,0, 239,238, 0,0, 240,238,
241,238, 242,238, 0,0, 0,0,
6,36, 6,36, 6,36, 6,36,
6,36, 6,36, 6,36, 6,36,
6,36, 6,36, 6,36, 6,36,
6,36, 6,36, 6,36, 6,36,
6,36, 6,36, 6,36, 6,36,
6,36, 6,36, 6,36, 6,36,
6,36, 7,38, 7,38, 7,38,
7,38, 7,38, 7,38, 7,38,
7,38, 7,38, 7,38, 0,0,
0,0, 0,0, 0,0, 0,0,
8,39, 0,0, 7,38, 7,38,
7,38, 7,38, 7,38, 7,38,
8,39, 8,0, 11,43, 243,0,
11,44, 11,44, 11,44, 11,44,
11,44, 11,44, 11,44, 11,44,
11,44, 11,44, 43,136, 43,136,
43,136, 43,136, 43,136, 43,136,
43,136, 43,136, 43,136, 43,136,
244,0, 0,0, 7,38, 7,38,
7,38, 7,38, 7,38, 7,38,
243,238, 0,0, 0,0, 12,45,
0,0, 0,0, 0,0, 8,39,
0,0, 8,39, 8,39, 12,45,
12,46, 0,0, 0,0, 8,39,
0,0, 0,0, 0,0, 0,0,
0,0, 244,238, 0,0, 0,0,
8,39, 8,39, 8,39, 8,39,
8,39, 8,39, 8,39, 8,39,
8,39, 8,39, 8,39, 8,39,
8,39, 8,39, 8,39, 8,39,
8,39, 8,39, 8,39, 8,39,
8,39, 8,39, 8,39, 8,39,
8,39, 0,0, 12,45, 8,40,
12,45, 12,45, 0,0, 0,0,
0,0, 0,0, 12,45, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 12,45,
12,45, 12,45, 12,45, 12,45,
12,45, 12,45, 12,45, 12,45,
12,45, 12,45, 12,45, 12,45,
12,45, 12,45, 12,45, 12,45,
12,45, 12,45, 12,45, 12,45,
12,45, 12,45, 12,45, 12,45,
16,49, 16,50, 16,49, 16,51,
16,51, 16,51, 16,51, 16,51,
16,51, 16,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 16,51, 16,52, 16,51,
16,53, 16,51, 16,51, 16,51,
16,51, 16,51, 16,51, 16,51,
16,54, 16,51, 16,55, 16,51,
16,51, 16,51, 16,51, 16,56,
16,51, 16,51, 16,51, 16,51,
16,51, 16,51, 16,51, 0,0,
0,0, 0,0, 0,0, 16,51,
0,0, 16,51, 16,52, 16,51,
16,53, 16,51, 16,51, 16,51,
16,51, 16,51, 16,51, 16,51,
16,54, 16,51, 16,55, 16,51,
16,51, 16,51, 16,51, 16,56,
16,51, 16,51, 16,51, 16,51,
16,51, 16,51, 16,51, 17,57,
17,58, 17,57, 18,51, 18,51,
18,51, 0,0, 0,0, 0,0,
0,0, 0,0, 40,0, 0,0,
0,0, 0,0, 0,0, 0,0,
17,59, 17,51, 17,60, 17,51,
18,51, 18,63, 18,51, 0,0,
0,0, 0,0, 0,0, 17,51,
0,0, 17,51, 18,64, 18,65,
18,51, 0,0, 17,61, 17,62,
0,0, 18,51, 0,0, 40,129,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
17,59, 17,51, 17,60, 17,51,
18,51, 18,63, 18,51, 19,51,
19,51, 19,51, 0,0, 17,51,
0,0, 17,51, 18,64, 18,65,
18,51, 0,0, 17,61, 17,62,
0,0, 18,51, 0,0, 0,0,
0,0, 19,51, 19,66, 19,51,
0,0, 0,0, 0,0, 0,0,
19,67, 0,0, 0,0, 19,51,
0,0, 19,51, 19,68, 0,0,
0,0, 0,0, 19,51, 0,0,
40,130, 20,51, 20,51, 20,51,
0,0, 0,0, 40,131, 0,0,
0,0, 0,0, 40,132, 0,0,
0,0, 19,51, 19,66, 19,51,
0,0, 0,0, 40,133, 20,51,
19,67, 20,51, 40,134, 19,51,
40,135, 19,51, 19,68, 0,0,
0,0, 20,51, 19,51, 20,69,
20,70, 0,0, 20,71, 0,0,
20,51, 21,51, 21,51, 21,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 20,51,
0,0, 20,51, 0,0, 21,51,
0,0, 21,51, 22,51, 22,51,
22,51, 20,51, 0,0, 20,69,
20,70, 21,51, 20,71, 21,51,
20,51, 0,0, 0,0, 0,0,
21,51, 0,0, 0,0, 0,0,
22,51, 0,0, 22,51, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 22,72, 21,51,
22,73, 21,51, 0,0, 0,0,
0,0, 22,51, 0,0, 0,0,
0,0, 21,51, 0,0, 21,51,
0,0, 0,0, 0,0, 0,0,
21,51, 0,0, 0,0, 0,0,
22,51, 0,0, 22,51, 23,51,
23,51, 23,51, 0,0, 0,0,
0,0, 0,0, 22,72, 0,0,
22,73, 0,0, 0,0, 0,0,
0,0, 22,51, 0,0, 0,0,
0,0, 23,51, 23,74, 23,51,
23,75, 0,0, 23,76, 23,77,
0,0, 0,0, 0,0, 23,78,
23,79, 23,80, 0,0, 23,81,
0,0, 0,0, 23,82, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 23,51, 23,74, 23,51,
23,75, 0,0, 23,76, 23,77,
0,0, 0,0, 0,0, 23,78,
23,79, 23,80, 0,0, 23,81,
0,0, 0,0, 23,82, 24,51,
24,51, 24,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 24,83, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
24,84, 24,51, 24,85, 24,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 24,51,
0,0, 24,51, 0,0, 0,0,
0,0, 0,0, 24,86, 0,0,
24,87, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
24,84, 24,51, 24,85, 24,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 24,51,
0,0, 24,51, 0,0, 32,51,
32,51, 32,51, 24,86, 0,0,
24,87, 25,88, 25,88, 25,88,
25,88, 25,88, 25,88, 25,88,
25,88, 0,0, 0,0, 0,0,
32,123, 32,51, 0,0, 32,51,
0,0, 0,0, 25,89, 25,51,
0,0, 25,51, 0,0, 32,51,
0,0, 32,51, 0,0, 0,0,
0,0, 25,51, 32,51, 25,51,
25,90, 25,91, 0,0, 25,92,
25,51, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
32,123, 32,51, 0,0, 32,51,
0,0, 0,0, 25,89, 25,51,
0,0, 25,51, 0,0, 32,51,
0,0, 32,51, 0,0, 0,0,
0,0, 25,51, 32,51, 25,51,
25,90, 25,91, 0,0, 25,92,
25,51, 26,93, 26,93, 26,93,
26,93, 26,93, 26,93, 26,93,
26,93, 0,0, 27,51, 27,51,
27,51, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 26,51,
0,0, 26,51, 26,94, 0,0,
0,0, 0,0, 0,0, 0,0,
27,51, 26,51, 27,51, 26,51,
26,95, 0,0, 0,0, 0,0,
26,51, 0,0, 27,51, 27,96,
27,51, 0,0, 0,0, 0,0,
27,97, 27,51, 0,0, 0,0,
0,0, 0,0, 0,0, 26,51,
0,0, 26,51, 26,94, 0,0,
0,0, 0,0, 0,0, 0,0,
27,51, 26,51, 27,51, 26,51,
26,95, 28,51, 28,51, 28,51,
26,51, 0,0, 27,51, 27,96,
27,51, 0,0, 0,0, 28,98,
27,97, 27,51, 0,0, 0,0,
0,0, 0,0, 28,99, 28,51,
0,0, 28,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 28,51, 0,0, 28,51,
0,0, 0,0, 0,0, 0,0,
28,100, 0,0, 0,0, 29,101,
29,101, 29,101, 29,101, 29,101,
29,101, 29,101, 29,101, 0,0,
0,0, 0,0, 28,99, 28,51,
0,0, 28,51, 0,0, 0,0,
0,0, 29,51, 0,0, 29,51,
29,102, 28,51, 0,0, 28,51,
0,0, 0,0, 0,0, 29,51,
28,100, 29,103, 29,104, 0,0,
0,0, 0,0, 29,51, 29,105,
0,0, 0,0, 0,0, 0,0,
30,51, 30,51, 30,51, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 29,51, 0,0, 29,51,
29,102, 0,0, 0,0, 0,0,
0,0, 0,0, 30,106, 29,51,
30,51, 29,103, 29,104, 0,0,
0,0, 0,0, 29,51, 29,105,
30,51, 0,0, 30,51, 0,0,
30,107, 0,0, 30,108, 30,109,
30,110, 30,111, 0,0, 30,112,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 30,106, 0,0,
30,51, 0,0, 31,51, 31,51,
31,51, 0,0, 0,0, 0,0,
30,51, 0,0, 30,51, 0,0,
30,107, 0,0, 30,108, 30,109,
30,110, 30,111, 0,0, 30,112,
31,51, 31,113, 31,51, 31,114,
31,115, 31,116, 31,117, 0,0,
0,0, 0,0, 31,118, 31,119,
31,120, 0,0, 31,121, 0,0,
0,0, 31,122, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
31,51, 31,113, 31,51, 31,114,
31,115, 31,116, 31,117, 49,51,
49,51, 49,51, 31,118, 31,119,
31,120, 0,0, 31,121, 0,0,
0,0, 31,122, 33,124, 33,124,
33,51, 34,126, 34,126, 34,51,
0,0, 49,51, 0,0, 49,51,
33,125, 0,0, 0,0, 34,127,
0,0, 0,0, 0,0, 49,51,
33,51, 49,51, 33,51, 34,51,
0,0, 34,51, 49,51, 0,0,
0,0, 0,0, 33,51, 0,0,
33,51, 34,51, 0,0, 34,51,
39,128, 33,51, 0,0, 0,0,
34,51, 49,51, 0,0, 49,51,
39,128, 39,0, 0,0, 0,0,
0,0, 0,0, 0,0, 49,51,
33,51, 49,51, 33,51, 34,51,
0,0, 34,51, 49,51, 0,0,
0,0, 0,0, 33,51, 0,0,
33,51, 34,51, 0,0, 34,51,
0,0, 33,51, 0,0, 0,0,
34,51, 0,0, 39,129, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 39,128,
0,0, 39,128, 39,128, 0,0,
0,0, 0,0, 0,0, 39,128,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
39,128, 39,128, 39,128, 39,128,
39,128, 39,128, 39,128, 39,128,
39,128, 39,128, 39,128, 39,128,
39,128, 39,128, 39,128, 39,128,
39,128, 39,128, 39,128, 39,128,
39,128, 39,128, 39,128, 39,128,
39,128, 50,137, 50,51, 50,51,
51,51, 51,51, 51,51, 52,51,
52,51, 52,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 50,51,
0,0, 50,51, 51,51, 0,0,
51,51, 52,51, 0,0, 52,51,
0,0, 50,51, 0,0, 50,51,
51,51, 0,0, 51,51, 52,51,
50,51, 52,51, 0,0, 51,51,
0,0, 0,0, 52,138, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 50,51,
0,0, 50,51, 51,51, 0,0,
51,51, 52,51, 0,0, 52,51,
0,0, 50,51, 0,0, 50,51,
51,51, 0,0, 51,51, 52,51,
50,51, 52,51, 0,0, 51,51,
0,0, 0,0, 52,138, 53,51,
53,51, 53,51, 0,0, 54,51,
54,51, 54,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
55,51, 55,51, 55,51, 0,0,
0,0, 53,51, 53,139, 53,140,
0,0, 54,51, 0,0, 54,51,
0,0, 0,0, 0,0, 53,51,
54,141, 53,51, 55,51, 54,51,
55,142, 54,51, 53,51, 0,0,
0,0, 0,0, 54,51, 0,0,
55,51, 0,0, 55,51, 0,0,
0,0, 0,0, 0,0, 55,51,
0,0, 53,51, 53,139, 53,140,
0,0, 54,51, 0,0, 54,51,
0,0, 0,0, 0,0, 53,51,
54,141, 53,51, 55,51, 54,51,
55,142, 54,51, 53,51, 56,51,
56,51, 56,51, 54,51, 0,0,
55,51, 0,0, 55,51, 0,0,
57,51, 57,51, 57,51, 55,51,
58,145, 58,51, 58,51, 0,0,
0,0, 56,51, 0,0, 56,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 57,51, 56,143,
57,51, 56,51, 58,51, 0,0,
58,51, 56,144, 56,51, 0,0,
57,51, 0,0, 57,51, 0,0,
58,51, 0,0, 58,51, 57,51,
0,0, 0,0, 0,0, 58,51,
0,0, 56,51, 0,0, 56,51,
0,0, 59,51, 59,51, 59,51,
0,0, 0,0, 57,51, 56,143,
57,51, 56,51, 58,51, 0,0,
58,51, 56,144, 56,51, 0,0,
57,51, 0,0, 57,51, 59,51,
58,51, 59,51, 58,51, 57,51,
60,51, 60,51, 60,51, 58,51,
0,0, 59,51, 0,0, 59,51,
0,0, 0,0, 0,0, 0,0,
59,51, 61,51, 61,51, 61,51,
0,0, 0,0, 60,51, 0,0,
60,51, 0,0, 0,0, 0,0,
60,146, 0,0, 0,0, 59,51,
60,147, 59,51, 60,51, 61,51,
0,0, 61,51, 61,148, 60,51,
0,0, 59,51, 0,0, 59,51,
0,0, 61,51, 0,0, 61,51,
59,51, 0,0, 0,0, 0,0,
61,51, 0,0, 60,51, 0,0,
60,51, 0,0, 0,0, 0,0,
60,146, 0,0, 0,0, 0,0,
60,147, 0,0, 60,51, 61,51,
0,0, 61,51, 61,148, 60,51,
62,51, 62,51, 62,51, 0,0,
0,0, 61,51, 0,0, 61,51,
0,0, 63,51, 63,51, 63,51,
61,51, 0,0, 0,0, 0,0,
0,0, 0,0, 62,51, 0,0,
62,51, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 63,51,
62,51, 63,51, 62,51, 0,0,
0,0, 0,0, 0,0, 62,149,
0,0, 63,51, 0,0, 63,51,
0,0, 0,0, 0,0, 63,150,
63,51, 0,0, 0,0, 0,0,
0,0, 0,0, 62,51, 0,0,
62,51, 0,0, 64,51, 64,51,
64,51, 0,0, 0,0, 63,51,
62,51, 63,51, 62,51, 65,51,
65,51, 65,51, 0,0, 62,149,
0,0, 63,51, 0,0, 63,51,
64,51, 0,0, 64,51, 63,150,
63,51, 0,0, 0,0, 0,0,
0,0, 65,51, 64,51, 65,51,
64,51, 0,0, 0,0, 0,0,
64,151, 64,51, 0,0, 65,51,
0,0, 65,51, 0,0, 65,152,
0,0, 0,0, 65,51, 0,0,
0,0, 0,0, 0,0, 0,0,
64,51, 0,0, 64,51, 0,0,
66,51, 66,51, 66,51, 0,0,
0,0, 65,51, 64,51, 65,51,
64,51, 67,51, 67,51, 67,51,
64,151, 64,51, 0,0, 65,51,
0,0, 65,51, 66,51, 65,152,
66,51, 0,0, 65,51, 68,51,
68,51, 68,51, 0,0, 67,51,
66,51, 67,51, 66,51, 0,0,
0,0, 0,0, 0,0, 66,51,
0,0, 67,51, 0,0, 67,51,
0,0, 68,51, 0,0, 68,51,
67,51, 0,0, 0,0, 67,153,
0,0, 0,0, 66,51, 68,51,
66,51, 68,51, 69,51, 69,51,
69,51, 0,0, 68,51, 67,51,
66,51, 67,51, 66,51, 0,0,
0,0, 0,0, 0,0, 66,51,
0,0, 67,51, 0,0, 67,51,
69,51, 68,51, 69,154, 68,51,
67,51, 0,0, 0,0, 67,153,
0,0, 0,0, 69,51, 68,51,
69,51, 68,51, 0,0, 0,0,
0,0, 69,51, 68,51, 0,0,
70,51, 70,51, 70,51, 71,51,
71,51, 71,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
69,51, 0,0, 69,154, 0,0,
0,0, 0,0, 70,51, 0,0,
70,51, 71,51, 69,51, 71,51,
69,51, 0,0, 0,0, 0,0,
70,51, 69,51, 70,51, 71,51,
0,0, 71,51, 70,155, 70,51,
0,0, 0,0, 71,51, 0,0,
71,156, 72,51, 72,51, 72,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 70,51, 0,0,
70,51, 71,51, 0,0, 71,51,
0,0, 0,0, 0,0, 72,51,
70,51, 72,51, 70,51, 71,51,
0,0, 71,51, 70,155, 70,51,
0,0, 72,157, 71,51, 72,51,
71,156, 0,0, 0,0, 0,0,
72,51, 73,51, 73,51, 73,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 72,51,
0,0, 72,51, 0,0, 73,51,
73,158, 73,51, 0,0, 0,0,
0,0, 72,157, 0,0, 72,51,
0,0, 73,51, 0,0, 73,51,
72,51, 0,0, 0,0, 0,0,
73,51, 74,51, 74,51, 74,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 73,51,
73,158, 73,51, 0,0, 74,51,
74,159, 74,51, 0,0, 0,0,
0,0, 73,51, 0,0, 73,51,
0,0, 74,160, 0,0, 74,51,
73,51, 0,0, 0,0, 0,0,
74,161, 75,51, 75,51, 75,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 74,51,
74,159, 74,51, 0,0, 75,51,
75,162, 75,51, 0,0, 0,0,
0,0, 74,160, 0,0, 74,51,
0,0, 75,51, 0,0, 75,51,
74,161, 0,0, 75,163, 0,0,
75,164, 76,51, 76,51, 76,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 75,51,
75,162, 75,51, 0,0, 76,51,
0,0, 76,51, 76,165, 0,0,
0,0, 75,51, 0,0, 75,51,
0,0, 76,51, 75,163, 76,51,
75,164, 0,0, 0,0, 0,0,
76,51, 76,166, 0,0, 0,0,
0,0, 0,0, 77,51, 77,51,
77,51, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 76,51,
0,0, 76,51, 76,165, 78,51,
78,51, 78,51, 0,0, 0,0,
77,51, 76,51, 77,51, 76,51,
0,0, 0,0, 0,0, 0,0,
76,51, 76,166, 77,51, 0,0,
77,51, 78,51, 78,168, 78,51,
78,169, 77,167, 0,0, 0,0,
0,0, 0,0, 0,0, 78,51,
0,0, 78,51, 78,170, 0,0,
0,0, 0,0, 78,171, 78,172,
77,51, 0,0, 77,51, 0,0,
79,51, 79,51, 79,51, 0,0,
0,0, 0,0, 77,51, 0,0,
77,51, 78,51, 78,168, 78,51,
78,169, 77,167, 0,0, 0,0,
0,0, 0,0, 79,51, 78,51,
79,51, 78,51, 78,170, 0,0,
0,0, 79,173, 78,171, 78,172,
79,51, 0,0, 79,51, 0,0,
79,174, 0,0, 0,0, 79,51,
0,0, 0,0, 80,51, 80,51,
80,51, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 79,51, 0,0,
79,51, 0,0, 0,0, 0,0,
80,51, 79,173, 80,51, 80,175,
79,51, 0,0, 79,51, 0,0,
79,174, 0,0, 80,51, 79,51,
80,176, 0,0, 0,0, 0,0,
80,177, 80,51, 0,0, 0,0,
0,0, 0,0, 0,0, 81,51,
81,51, 81,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
80,51, 0,0, 80,51, 80,175,
82,51, 82,51, 82,51, 0,0,
0,0, 81,51, 80,51, 81,51,
80,176, 0,0, 0,0, 0,0,
80,177, 80,51, 0,0, 81,178,
0,0, 81,51, 82,51, 82,179,
82,51, 82,180, 81,51, 82,181,
82,182, 0,0, 0,0, 0,0,
82,183, 82,184, 82,185, 0,0,
82,186, 0,0, 82,187, 82,188,
0,0, 81,51, 0,0, 81,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 81,178,
0,0, 81,51, 82,51, 82,179,
82,51, 82,180, 81,51, 82,181,
82,182, 84,51, 84,51, 84,51,
82,183, 82,184, 82,185, 0,0,
82,186, 0,0, 82,187, 82,188,
85,51, 85,51, 85,51, 86,51,
86,51, 86,51, 0,0, 84,51,
0,0, 84,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 84,51, 85,51, 84,51,
85,51, 86,51, 0,0, 86,51,
84,51, 0,0, 0,0, 0,0,
85,51, 0,0, 85,51, 86,189,
0,0, 86,51, 0,0, 85,51,
0,0, 86,190, 86,51, 84,51,
0,0, 84,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 84,51, 85,51, 84,51,
85,51, 86,51, 0,0, 86,51,
84,51, 87,51, 87,51, 87,51,
85,51, 0,0, 85,51, 86,189,
0,0, 86,51, 0,0, 85,51,
0,0, 86,190, 86,51, 0,0,
0,0, 0,0, 87,191, 87,51,
0,0, 87,51, 0,0, 0,0,
88,51, 88,51, 88,51, 0,0,
0,0, 87,51, 0,0, 87,51,
0,0, 0,0, 0,0, 0,0,
87,51, 89,51, 89,51, 89,51,
0,0, 0,0, 88,51, 0,0,
88,51, 0,0, 0,0, 0,0,
0,0, 0,0, 87,191, 87,51,
88,51, 87,51, 88,51, 89,51,
89,192, 89,51, 0,0, 88,51,
0,0, 87,51, 0,0, 87,51,
0,0, 89,51, 0,0, 89,51,
87,51, 0,0, 0,0, 0,0,
89,51, 0,0, 88,51, 0,0,
88,51, 0,0, 90,51, 90,51,
90,51, 0,0, 0,0, 0,0,
88,51, 0,0, 88,51, 89,51,
89,192, 89,51, 0,0, 88,51,
91,51, 91,51, 91,51, 0,0,
90,51, 89,51, 90,51, 89,51,
0,0, 92,51, 92,51, 92,51,
89,51, 0,0, 90,51, 0,0,
90,51, 0,0, 91,51, 0,0,
91,51, 90,51, 0,0, 0,0,
90,193, 0,0, 0,0, 92,51,
91,51, 92,51, 91,51, 0,0,
0,0, 0,0, 0,0, 91,51,
90,51, 92,51, 90,51, 92,51,
0,0, 91,194, 0,0, 0,0,
92,51, 0,0, 90,51, 0,0,
90,51, 0,0, 91,51, 0,0,
91,51, 90,51, 0,0, 0,0,
90,193, 0,0, 0,0, 92,51,
91,51, 92,51, 91,51, 93,51,
93,51, 93,51, 0,0, 91,51,
0,0, 92,51, 0,0, 92,51,
0,0, 91,194, 0,0, 0,0,
92,51, 94,51, 94,51, 94,51,
0,0, 93,51, 0,0, 93,51,
0,0, 0,0, 95,51, 95,51,
95,51, 0,0, 0,0, 93,51,
0,0, 93,51, 0,0, 94,51,
0,0, 94,51, 93,51, 0,0,
94,195, 0,0, 0,0, 0,0,
95,51, 94,51, 95,51, 94,51,
0,0, 0,0, 0,0, 0,0,
94,51, 93,51, 95,51, 93,51,
95,51, 0,0, 95,196, 0,0,
95,197, 95,51, 95,198, 93,51,
0,0, 93,51, 0,0, 94,51,
0,0, 94,51, 93,51, 0,0,
94,195, 0,0, 0,0, 0,0,
95,51, 94,51, 95,51, 94,51,
96,51, 96,51, 96,51, 0,0,
94,51, 0,0, 95,51, 0,0,
95,51, 0,0, 95,196, 0,0,
95,197, 95,51, 95,198, 0,0,
0,0, 0,0, 96,51, 0,0,
96,51, 97,51, 97,51, 97,51,
0,0, 0,0, 0,0, 0,0,
96,51, 0,0, 96,51, 0,0,
0,0, 0,0, 96,199, 96,51,
0,0, 0,0, 0,0, 97,51,
0,0, 97,51, 0,0, 0,0,
97,200, 0,0, 97,201, 0,0,
0,0, 97,51, 96,51, 97,51,
96,51, 0,0, 0,0, 0,0,
97,51, 99,51, 99,51, 99,51,
96,51, 0,0, 96,51, 0,0,
0,0, 0,0, 96,199, 96,51,
0,0, 0,0, 0,0, 97,51,
0,0, 97,51, 0,0, 99,51,
97,200, 99,51, 97,201, 0,0,
99,202, 97,51, 0,0, 97,51,
0,0, 99,51, 0,0, 99,51,
97,51, 0,0, 0,0, 0,0,
99,51, 100,51, 100,51, 100,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 101,51, 101,51,
101,51, 0,0, 0,0, 99,51,
0,0, 99,51, 0,0, 100,51,
99,202, 100,51, 100,203, 0,0,
0,0, 99,51, 0,0, 99,51,
101,51, 100,51, 101,51, 100,51,
99,51, 0,0, 0,0, 0,0,
100,51, 0,0, 101,51, 0,0,
101,51, 0,0, 0,0, 0,0,
0,0, 101,51, 102,51, 102,51,
102,51, 0,0, 0,0, 100,51,
0,0, 100,51, 100,203, 103,51,
103,51, 103,51, 0,0, 0,0,
101,51, 100,51, 101,51, 100,51,
102,51, 0,0, 102,51, 0,0,
100,51, 0,0, 101,51, 0,0,
101,51, 103,51, 102,51, 103,206,
102,51, 101,51, 102,204, 0,0,
0,0, 102,205, 0,0, 103,51,
0,0, 103,51, 0,0, 0,0,
0,0, 0,0, 103,51, 104,51,
104,51, 104,51, 0,0, 0,0,
102,51, 0,0, 102,51, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 103,51, 102,51, 103,206,
102,51, 104,51, 102,204, 104,51,
0,0, 102,205, 0,0, 103,51,
0,0, 103,51, 0,0, 104,207,
0,0, 104,51, 103,51, 0,0,
0,0, 104,208, 104,51, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 105,51, 105,51,
105,51, 0,0, 0,0, 0,0,
0,0, 104,51, 0,0, 104,51,
0,0, 0,0, 0,0, 106,51,
106,51, 106,51, 0,0, 104,207,
105,51, 104,51, 105,51, 0,0,
0,0, 104,208, 104,51, 105,209,
0,0, 0,0, 105,51, 0,0,
105,51, 106,51, 106,211, 106,51,
0,0, 105,210, 0,0, 0,0,
0,0, 0,0, 0,0, 106,51,
0,0, 106,51, 0,0, 0,0,
0,0, 0,0, 106,51, 0,0,
105,51, 0,0, 105,51, 0,0,
107,51, 107,51, 107,51, 105,209,
0,0, 0,0, 105,51, 0,0,
105,51, 106,51, 106,211, 106,51,
0,0, 105,210, 108,51, 108,51,
108,51, 0,0, 107,51, 106,51,
107,51, 106,51, 0,0, 109,51,
109,51, 109,51, 106,51, 0,0,
107,51, 0,0, 107,51, 0,0,
108,51, 0,0, 108,51, 107,51,
0,0, 0,0, 0,0, 0,0,
0,0, 109,51, 108,51, 109,51,
108,51, 0,0, 0,0, 109,212,
0,0, 108,51, 107,51, 109,213,
107,51, 109,51, 0,0, 0,0,
0,0, 0,0, 109,51, 0,0,
107,51, 0,0, 107,51, 0,0,
108,51, 0,0, 108,51, 107,51,
110,51, 110,51, 110,51, 0,0,
0,0, 109,51, 108,51, 109,51,
108,51, 0,0, 0,0, 109,212,
0,0, 108,51, 0,0, 109,213,
0,0, 109,51, 110,51, 0,0,
110,51, 0,0, 109,51, 111,51,
111,51, 111,51, 0,0, 0,0,
110,51, 0,0, 110,51, 110,214,
0,0, 0,0, 0,0, 110,51,
112,51, 112,51, 112,51, 0,0,
0,0, 111,215, 0,0, 111,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 110,51, 111,51,
110,51, 111,51, 112,51, 0,0,
112,51, 0,0, 111,51, 0,0,
110,51, 112,216, 110,51, 110,214,
112,51, 0,0, 112,51, 110,51,
0,0, 0,0, 0,0, 112,51,
0,0, 111,215, 0,0, 111,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 111,51,
0,0, 111,51, 112,51, 0,0,
112,51, 0,0, 111,51, 0,0,
0,0, 112,216, 0,0, 0,0,
112,51, 0,0, 112,51, 113,51,
113,51, 113,51, 0,0, 112,51,
0,0, 114,51, 114,51, 114,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 113,51, 113,217, 113,51,
0,0, 0,0, 0,0, 114,51,
114,219, 114,51, 0,0, 113,51,
0,0, 113,51, 0,0, 0,0,
0,0, 114,51, 113,218, 114,51,
0,0, 0,0, 114,220, 0,0,
114,221, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 113,51, 113,217, 113,51,
0,0, 0,0, 0,0, 114,51,
114,219, 114,51, 0,0, 113,51,
0,0, 113,51, 115,51, 115,51,
115,51, 114,51, 113,218, 114,51,
0,0, 0,0, 114,220, 0,0,
114,221, 116,51, 116,51, 116,51,
0,0, 0,0, 0,0, 0,0,
115,51, 0,0, 115,51, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 115,51, 116,51,
115,51, 116,51, 116,223, 0,0,
115,222, 115,51, 0,0, 0,0,
0,0, 116,51, 0,0, 116,51,
0,0, 0,0, 0,0, 0,0,
116,51, 116,224, 0,0, 0,0,
115,51, 0,0, 115,51, 0,0,
117,51, 117,51, 117,51, 0,0,
0,0, 0,0, 115,51, 116,51,
115,51, 116,51, 116,223, 0,0,
115,222, 115,51, 0,0, 0,0,
0,0, 116,51, 117,51, 116,51,
117,51, 0,0, 0,0, 0,0,
116,51, 116,224, 0,0, 0,0,
117,51, 0,0, 117,51, 0,0,
0,0, 0,0, 0,0, 117,225,
0,0, 0,0, 118,51, 118,51,
118,51, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 117,51, 0,0,
117,51, 0,0, 0,0, 0,0,
118,51, 118,226, 118,51, 118,227,
117,51, 0,0, 117,51, 0,0,
0,0, 0,0, 118,51, 117,225,
118,51, 118,228, 0,0, 0,0,
0,0, 118,229, 118,230, 0,0,
0,0, 0,0, 0,0, 119,51,
119,51, 119,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
118,51, 118,226, 118,51, 118,227,
120,51, 120,51, 120,51, 0,0,
0,0, 119,51, 118,51, 119,51,
118,51, 118,228, 0,0, 0,0,
119,231, 118,229, 118,230, 119,51,
0,0, 119,51, 120,51, 0,0,
120,51, 120,232, 119,51, 0,0,
0,0, 0,0, 0,0, 0,0,
120,51, 0,0, 120,233, 0,0,
0,0, 0,0, 120,234, 120,51,
0,0, 119,51, 0,0, 119,51,
0,0, 121,51, 121,51, 121,51,
119,231, 0,0, 0,0, 119,51,
0,0, 119,51, 120,51, 0,0,
120,51, 120,232, 119,51, 0,0,
0,0, 0,0, 0,0, 121,51,
120,51, 121,51, 120,233, 0,0,
0,0, 0,0, 120,234, 120,51,
0,0, 121,235, 0,0, 121,51,
0,0, 0,0, 0,0, 0,0,
121,51, 122,51, 122,51, 122,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 123,51, 123,51,
123,51, 0,0, 0,0, 121,51,
0,0, 121,51, 0,0, 122,51,
0,0, 122,51, 0,0, 0,0,
0,0, 121,235, 0,0, 121,51,
123,51, 122,51, 123,51, 122,51,
121,51, 0,0, 0,0, 123,237,
122,51, 122,236, 123,51, 0,0,
123,51, 0,0, 0,0, 0,0,
0,0, 123,51, 124,51, 124,51,
124,51, 0,0, 0,0, 122,51,
0,0, 122,51, 0,0, 126,51,
126,51, 126,51, 0,0, 0,0,
123,51, 122,51, 123,51, 122,51,
124,51, 0,0, 124,51, 123,237,
122,51, 122,236, 123,51, 0,0,
123,51, 126,51, 124,51, 126,51,
124,51, 123,51, 0,0, 0,0,
0,0, 124,51, 0,0, 126,51,
0,0, 126,51, 0,0, 0,0,
0,0, 0,0, 126,51, 137,51,
137,51, 137,51, 0,0, 0,0,
124,51, 0,0, 124,51, 0,0,
138,51, 138,51, 138,51, 0,0,
0,0, 126,51, 124,51, 126,51,
124,51, 137,51, 0,0, 137,51,
0,0, 124,51, 0,0, 126,51,
0,0, 126,51, 138,51, 137,51,
138,51, 137,51, 126,51, 0,0,
0,0, 0,0, 137,51, 0,0,
138,51, 0,0, 138,51, 0,0,
0,0, 0,0, 0,0, 138,51,
139,51, 139,51, 139,51, 0,0,
0,0, 137,51, 0,0, 137,51,
0,0, 140,51, 140,51, 140,51,
0,0, 0,0, 138,51, 137,51,
138,51, 137,51, 139,51, 0,0,
139,51, 0,0, 137,51, 0,0,
138,51, 0,0, 138,51, 140,51,
139,51, 140,51, 139,51, 138,51,
0,0, 0,0, 0,0, 139,51,
0,0, 140,245, 0,0, 140,51,
0,0, 0,0, 0,0, 140,246,
140,51, 0,0, 0,0, 0,0,
0,0, 0,0, 139,51, 0,0,
139,51, 0,0, 141,51, 141,51,
141,51, 0,0, 0,0, 140,51,
139,51, 140,51, 139,51, 142,51,
142,51, 142,51, 0,0, 139,51,
0,0, 140,245, 0,0, 140,51,
141,51, 0,0, 141,51, 140,246,
140,51, 141,247, 0,0, 0,0,
0,0, 142,51, 141,51, 142,51,
141,51, 0,0, 0,0, 0,0,
142,248, 141,51, 0,0, 142,51,
0,0, 142,51, 0,0, 0,0,
0,0, 0,0, 142,51, 143,51,
143,51, 143,51, 0,0, 0,0,
141,51, 0,0, 141,51, 0,0,
0,0, 141,247, 0,0, 0,0,
0,0, 142,51, 141,51, 142,51,
141,51, 143,51, 0,0, 143,51,
142,248, 141,51, 0,0, 142,51,
0,0, 142,51, 0,0, 143,51,
0,0, 143,51, 142,51, 0,0,
0,0, 0,0, 143,51, 144,51,
144,51, 144,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
145,51, 145,51, 145,51, 0,0,
0,0, 143,51, 0,0, 143,51,
0,0, 144,51, 0,0, 144,51,
0,0, 0,0, 0,0, 143,51,
0,0, 143,51, 145,51, 144,51,
145,51, 144,51, 143,51, 0,0,
0,0, 0,0, 144,51, 0,0,
145,51, 0,0, 145,51, 0,0,
0,0, 0,0, 0,0, 145,51,
146,51, 146,51, 146,51, 0,0,
0,0, 144,51, 0,0, 144,51,
0,0, 147,51, 147,51, 147,51,
0,0, 0,0, 145,51, 144,51,
145,51, 144,51, 146,51, 0,0,
146,51, 0,0, 144,51, 146,249,
145,51, 0,0, 145,51, 147,51,
146,51, 147,51, 146,51, 145,51,
0,0, 0,0, 0,0, 146,51,
0,0, 147,51, 0,0, 147,51,
0,0, 0,0, 0,0, 147,250,
147,51, 0,0, 0,0, 0,0,
0,0, 0,0, 146,51, 0,0,
146,51, 0,0, 0,0, 146,249,
0,0, 0,0, 0,0, 147,51,
146,51, 147,51, 146,51, 148,51,
148,51, 148,51, 0,0, 146,51,
0,0, 147,51, 0,0, 147,51,
149,51, 149,51, 149,51, 147,250,
147,51, 0,0, 0,0, 0,0,
0,0, 148,51, 0,0, 148,51,
0,0, 0,0, 150,51, 150,51,
150,51, 0,0, 149,51, 148,51,
149,51, 148,51, 0,0, 0,0,
0,0, 0,0, 148,51, 148,251,
149,51, 0,0, 149,51, 0,0,
150,51, 0,0, 150,51, 149,51,
149,252, 0,0, 0,0, 0,0,
0,0, 148,51, 150,51, 148,51,
150,51, 151,51, 151,51, 151,51,
0,0, 150,51, 149,51, 148,51,
149,51, 148,51, 0,0, 0,0,
0,0, 0,0, 148,51, 148,251,
149,51, 0,0, 149,51, 151,51,
150,51, 151,51, 150,51, 149,51,
149,252, 0,0, 0,0, 0,0,
0,0, 151,51, 150,51, 151,51,
150,51, 0,0, 0,0, 0,0,
151,51, 150,51, 0,0, 153,51,
153,51, 153,51, 152,51, 152,51,
152,51, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 151,51,
0,0, 151,51, 0,0, 0,0,
0,0, 153,51, 0,0, 153,51,
152,51, 151,51, 152,51, 151,51,
0,0, 0,0, 0,0, 153,51,
151,51, 153,51, 152,51, 152,253,
152,51, 0,0, 153,51, 0,0,
0,0, 152,51, 0,0, 0,0,
154,51, 154,51, 154,51, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 153,51, 0,0, 153,51,
152,51, 0,0, 152,51, 0,0,
0,0, 0,0, 154,51, 153,51,
154,254, 153,51, 152,51, 152,253,
152,51, 0,0, 153,51, 0,0,
154,51, 152,51, 154,51, 155,51,
155,51, 155,51, 0,0, 154,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 156,51, 156,51, 156,51,
0,0, 155,51, 154,51, 155,51,
154,254, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 155,51,
154,51, 155,51, 154,51, 156,51,
0,0, 156,51, 155,51, 154,51,
0,0, 0,0, 0,0, 0,0,
0,0, 156,51, 0,0, 156,51,
0,0, 0,0, 0,0, 0,0,
156,51, 155,51, 0,0, 155,51,
0,0, 0,0, 0,0, 0,0,
157,51, 157,51, 157,51, 155,51,
0,0, 155,51, 0,0, 156,51,
0,0, 156,51, 155,51, 158,51,
158,51, 158,51, 159,51, 159,51,
159,51, 156,51, 157,51, 156,51,
157,51, 157,255, 0,0, 0,0,
156,51, 0,0, 0,0, 0,0,
157,51, 158,51, 157,51, 158,51,
159,51, 0,0, 159,51, 157,51,
0,0, 0,0, 0,0, 158,256,
0,0, 158,51, 159,51, 0,0,
159,51, 0,0, 158,51, 0,0,
0,0, 159,51, 157,51, 0,0,
157,51, 157,255, 0,0, 0,0,
0,0, 160,51, 160,51, 160,51,
157,51, 158,51, 157,51, 158,51,
159,51, 0,0, 159,51, 157,51,
161,51, 161,51, 161,51, 158,256,
0,0, 158,51, 159,51, 160,51,
159,51, 160,51, 158,51, 0,0,
0,0, 159,51, 0,0, 0,0,
0,0, 160,51, 161,51, 160,51,
161,51, 0,0, 0,0, 160,257,
160,51, 0,0, 0,0, 0,0,
161,51, 0,0, 161,51, 0,0,
0,0, 0,0, 0,0, 161,51,
0,0, 0,0, 0,0, 160,51,
0,0, 160,51, 0,0, 162,51,
162,51, 162,51, 163,51, 163,51,
163,51, 160,51, 161,51, 160,51,
161,51, 0,0, 0,0, 160,257,
160,51, 164,51, 164,51, 164,51,
161,51, 162,51, 161,51, 162,51,
163,51, 0,0, 163,51, 161,51,
0,0, 0,0, 0,0, 162,51,
0,0, 162,51, 163,51, 164,51,
163,51, 164,51, 162,51, 0,0,
0,0, 163,51, 0,0, 0,0,
0,0, 164,51, 0,0, 164,51,
0,0, 0,0, 0,0, 0,0,
164,51, 162,51, 0,0, 162,51,
163,51, 0,0, 163,51, 0,0,
165,51, 165,51, 165,51, 162,51,
0,0, 162,51, 163,51, 164,51,
163,51, 164,51, 162,51, 0,0,
0,0, 163,51, 166,51, 166,51,
166,51, 164,51, 165,51, 164,51,
165,51, 0,0, 0,0, 0,0,
164,51, 0,0, 0,0, 0,0,
165,51, 0,0, 165,51, 0,0,
166,51, 0,0, 166,51, 165,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 166,51, 0,0,
166,51, 167,51, 167,51, 167,51,
0,0, 166,51, 165,51, 0,0,
165,51, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
165,51, 0,0, 165,51, 167,51,
166,51, 167,51, 166,51, 165,51,
168,51, 168,51, 168,51, 0,0,
0,0, 167,51, 166,51, 167,51,
166,51, 0,0, 0,0, 0,0,
167,51, 166,51, 0,0, 0,0,
0,0, 0,0, 168,51, 0,0,
168,51, 0,0, 0,0, 169,51,
169,51, 169,51, 0,0, 167,51,
168,51, 167,51, 168,51, 0,0,
0,0, 0,0, 0,0, 168,51,
0,0, 167,51, 0,0, 167,51,
0,0, 169,51, 0,0, 169,51,
167,51, 0,0, 170,51, 170,51,
170,51, 0,0, 168,51, 169,51,
168,51, 169,51, 0,0, 0,0,
0,0, 0,0, 169,51, 0,0,
168,51, 0,0, 168,51, 0,0,
170,51, 0,0, 170,51, 168,51,
0,0, 171,51, 171,51, 171,51,
0,0, 169,51, 170,51, 169,51,
170,51, 0,0, 0,0, 0,0,
0,0, 170,51, 0,0, 169,51,
0,0, 169,51, 0,0, 171,51,
0,0, 171,51, 169,51, 0,0,
172,51, 172,51, 172,51, 0,0,
170,51, 171,51, 170,51, 171,51,
0,0, 0,0, 0,0, 0,0,
171,51, 0,0, 170,51, 0,0,
170,51, 0,0, 172,51, 0,0,
172,51, 170,51, 0,0, 173,51,
173,51, 173,51, 0,0, 171,51,
172,51, 171,51, 172,51, 0,0,
0,0, 0,0, 0,0, 172,51,
0,0, 171,51, 0,0, 171,51,
0,0, 173,51, 0,0, 173,51,
171,51, 0,0, 174,51, 174,51,
174,51, 0,0, 172,51, 173,51,
172,51, 173,51, 0,0, 0,0,
0,0, 0,0, 173,51, 0,0,
172,51, 0,0, 172,51, 0,0,
174,51, 0,0, 174,51, 172,51,
0,0, 175,51, 175,51, 175,51,
0,0, 173,51, 174,51, 173,51,
174,51, 0,0, 0,0, 0,0,
0,0, 174,51, 0,0, 173,51,
0,0, 173,51, 0,0, 175,51,
0,0, 175,51, 173,51, 0,0,
176,51, 176,51, 176,51, 0,0,
174,51, 175,51, 174,51, 175,51,
0,0, 0,0, 0,0, 0,0,
175,51, 0,0, 174,51, 0,0,
174,51, 0,0, 176,51, 0,0,
176,51, 174,51, 0,0, 177,51,
177,51, 177,51, 0,0, 175,51,
176,51, 175,51, 176,51, 0,0,
0,0, 0,0, 0,0, 176,51,
0,0, 175,51, 0,0, 175,51,
0,0, 177,51, 0,0, 177,51,
175,51, 0,0, 178,51, 178,51,
178,51, 0,0, 176,51, 177,51,
176,51, 177,51, 0,0, 0,0,
0,0, 0,0, 177,51, 0,0,
176,51, 0,0, 176,51, 0,0,
178,51, 0,0, 178,51, 176,51,
0,0, 179,51, 179,51, 179,51,
0,0, 177,51, 178,51, 177,51,
178,51, 0,0, 0,0, 0,0,
0,0, 178,51, 0,0, 177,51,
0,0, 177,51, 0,0, 179,51,
179,258, 179,51, 177,51, 0,0,
0,0, 0,0, 0,0, 0,0,
178,51, 179,259, 178,51, 179,51,
0,0, 0,0, 0,0, 0,0,
179,260, 0,0, 178,51, 0,0,
178,51, 0,0, 0,0, 0,0,
0,0, 178,51, 180,51, 180,51,
180,51, 0,0, 0,0, 179,51,
179,258, 179,51, 0,0, 0,0,
0,0, 181,51, 181,51, 181,51,
0,0, 179,259, 0,0, 179,51,
180,51, 180,261, 180,51, 0,0,
179,260, 0,0, 0,0, 0,0,
0,0, 0,0, 180,51, 181,51,
180,51, 181,51, 181,265, 180,262,
0,0, 180,263, 180,264, 0,0,
0,0, 181,51, 0,0, 181,51,
0,0, 0,0, 0,0, 0,0,
181,51, 181,266, 0,0, 0,0,
180,51, 180,261, 180,51, 0,0,
182,51, 182,51, 182,51, 0,0,
0,0, 0,0, 180,51, 181,51,
180,51, 181,51, 181,265, 180,262,
0,0, 180,263, 180,264, 0,0,
0,0, 181,51, 182,51, 181,51,
182,51, 0,0, 0,0, 0,0,
181,51, 181,266, 0,0, 0,0,
182,51, 0,0, 182,51, 0,0,
0,0, 0,0, 0,0, 182,267,
0,0, 0,0, 183,51, 183,51,
183,51, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 182,51, 0,0,
182,51, 0,0, 0,0, 0,0,
183,51, 183,268, 183,51, 183,269,
182,51, 0,0, 182,51, 0,0,
0,0, 0,0, 183,51, 182,267,
183,51, 183,270, 0,0, 0,0,
0,0, 183,271, 183,272, 0,0,
0,0, 0,0, 0,0, 184,51,
184,51, 184,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
183,51, 183,268, 183,51, 183,269,
185,51, 185,51, 185,51, 0,0,
0,0, 184,51, 183,51, 184,51,
183,51, 183,270, 0,0, 0,0,
184,273, 183,271, 183,272, 184,51,
0,0, 184,51, 185,51, 0,0,
185,51, 185,274, 184,51, 0,0,
0,0, 0,0, 0,0, 0,0,
185,51, 0,0, 185,275, 0,0,
0,0, 0,0, 185,276, 185,51,
0,0, 184,51, 0,0, 184,51,
0,0, 186,51, 186,51, 186,51,
184,273, 0,0, 0,0, 184,51,
0,0, 184,51, 185,51, 0,0,
185,51, 185,274, 184,51, 187,51,
187,51, 187,51, 0,0, 186,51,
185,51, 186,51, 185,275, 0,0,
0,0, 0,0, 185,276, 185,51,
0,0, 186,277, 0,0, 186,51,
0,0, 187,51, 0,0, 187,51,
186,51, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 187,51,
0,0, 187,51, 0,0, 0,0,
0,0, 0,0, 187,51, 186,51,
0,0, 186,51, 0,0, 0,0,
0,0, 0,0, 188,51, 188,51,
188,51, 186,277, 0,0, 186,51,
0,0, 187,51, 0,0, 187,51,
186,51, 189,51, 189,51, 189,51,
190,51, 190,51, 190,51, 187,51,
188,51, 187,51, 188,51, 188,278,
0,0, 0,0, 187,51, 0,0,
0,0, 0,0, 188,51, 189,51,
188,51, 189,51, 190,51, 0,0,
190,51, 188,51, 0,0, 0,0,
0,0, 189,51, 0,0, 189,51,
190,51, 0,0, 190,51, 0,0,
189,51, 0,0, 0,0, 190,51,
188,51, 0,0, 188,51, 188,278,
0,0, 0,0, 0,0, 191,51,
191,51, 191,51, 188,51, 189,51,
188,51, 189,51, 190,51, 0,0,
190,51, 188,51, 192,51, 192,51,
192,51, 189,51, 0,0, 189,51,
190,51, 191,51, 190,51, 191,51,
189,51, 0,0, 0,0, 190,51,
0,0, 0,0, 0,0, 191,51,
192,51, 191,51, 192,51, 0,0,
0,0, 0,0, 191,51, 0,0,
0,0, 0,0, 192,51, 0,0,
192,51, 0,0, 0,0, 0,0,
192,279, 192,51, 0,0, 0,0,
0,0, 191,51, 0,0, 191,51,
0,0, 193,51, 193,51, 193,51,
0,0, 0,0, 0,0, 191,51,
192,51, 191,51, 192,51, 0,0,
0,0, 0,0, 191,51, 194,51,
194,51, 194,51, 192,51, 193,51,
192,51, 193,51, 193,280, 0,0,
192,279, 192,51, 0,0, 0,0,
0,0, 193,51, 0,0, 193,51,
0,0, 194,51, 0,0, 194,51,
193,51, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 194,51,
0,0, 194,51, 0,0, 0,0,
0,0, 194,281, 194,51, 193,51,
0,0, 193,51, 193,280, 0,0,
195,51, 195,51, 195,51, 0,0,
0,0, 193,51, 0,0, 193,51,
0,0, 194,51, 0,0, 194,51,
193,51, 196,51, 196,51, 196,51,
0,0, 0,0, 195,51, 194,51,
195,51, 194,51, 0,0, 0,0,
0,0, 194,281, 194,51, 0,0,
195,51, 0,0, 195,51, 196,51,
0,0, 196,51, 0,0, 195,51,
0,0, 0,0, 0,0, 0,0,
0,0, 196,51, 0,0, 196,51,
0,0, 0,0, 0,0, 0,0,
196,51, 0,0, 195,51, 0,0,
195,51, 0,0, 197,51, 197,51,
197,51, 0,0, 0,0, 0,0,
195,51, 0,0, 195,51, 196,51,
0,0, 196,51, 0,0, 195,51,
198,51, 198,51, 198,51, 0,0,
197,51, 196,51, 197,51, 196,51,
0,0, 199,51, 199,51, 199,51,
196,51, 0,0, 197,51, 197,282,
197,51, 0,0, 198,51, 0,0,
198,51, 197,51, 0,0, 0,0,
0,0, 0,0, 0,0, 199,51,
198,51, 199,51, 198,51, 0,0,
0,0, 0,0, 0,0, 198,51,
197,51, 199,51, 197,51, 199,51,
0,0, 0,0, 0,0, 0,0,
199,51, 0,0, 197,51, 197,282,
197,51, 0,0, 198,51, 0,0,
198,51, 197,51, 200,51, 200,51,
200,51, 0,0, 0,0, 199,51,
198,51, 199,51, 198,51, 201,51,
201,51, 201,51, 0,0, 198,51,
0,0, 199,51, 0,0, 199,51,
200,51, 0,0, 200,51, 0,0,
199,51, 0,0, 0,0, 0,0,
0,0, 201,51, 200,51, 201,51,
200,51, 0,0, 0,0, 0,0,
0,0, 200,51, 0,0, 201,51,
0,0, 201,51, 0,0, 0,0,
0,0, 0,0, 201,51, 202,51,
202,51, 202,51, 0,0, 0,0,
200,51, 0,0, 200,51, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 201,51, 200,51, 201,51,
200,51, 202,51, 0,0, 202,51,
202,283, 200,51, 0,0, 201,51,
0,0, 201,51, 0,0, 202,51,
0,0, 202,51, 201,51, 0,0,
0,0, 0,0, 202,51, 203,51,
203,51, 203,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
204,51, 204,51, 204,51, 0,0,
0,0, 202,51, 0,0, 202,51,
202,283, 203,51, 203,284, 203,51,
0,0, 0,0, 0,0, 202,51,
0,0, 202,51, 204,51, 203,51,
204,51, 203,51, 202,51, 0,0,
0,0, 0,0, 203,51, 0,0,
204,51, 0,0, 204,51, 0,0,
0,0, 0,0, 0,0, 204,51,
205,51, 205,51, 205,51, 0,0,
0,0, 203,51, 203,284, 203,51,
0,0, 206,51, 206,51, 206,51,
0,0, 0,0, 204,51, 203,51,
204,51, 203,51, 205,51, 0,0,
205,51, 205,285, 203,51, 0,0,
204,51, 0,0, 204,51, 206,51,
205,51, 206,51, 205,51, 204,51,
0,0, 0,0, 0,0, 205,51,
0,0, 206,51, 0,0, 206,51,
0,0, 0,0, 0,0, 0,0,
206,51, 207,51, 207,51, 207,51,
0,0, 0,0, 205,51, 0,0,
205,51, 205,285, 208,51, 208,51,
208,51, 0,0, 0,0, 206,51,
205,51, 206,51, 205,51, 207,51,
0,0, 207,51, 0,0, 205,51,
0,0, 206,51, 0,0, 206,51,
208,51, 207,51, 208,51, 207,51,
206,51, 0,0, 0,0, 0,0,
207,51, 0,0, 208,51, 0,0,
208,51, 0,0, 0,0, 0,0,
0,0, 208,51, 209,51, 209,51,
209,51, 0,0, 0,0, 207,51,
0,0, 207,51, 0,0, 210,51,
210,51, 210,51, 0,0, 0,0,
208,51, 207,51, 208,51, 207,51,
209,51, 0,0, 209,51, 0,0,
207,51, 0,0, 208,51, 0,0,
208,51, 210,51, 209,51, 210,51,
209,51, 208,51, 0,0, 0,0,
0,0, 209,51, 0,0, 210,51,
0,0, 210,51, 0,0, 0,0,
0,0, 0,0, 210,51, 211,51,
211,51, 211,51, 0,0, 0,0,
209,51, 0,0, 209,51, 0,0,
212,51, 212,51, 212,51, 0,0,
0,0, 210,51, 209,51, 210,51,
209,51, 211,51, 0,0, 211,51,
0,0, 209,51, 0,0, 210,51,
0,0, 210,51, 212,51, 211,51,
212,51, 211,51, 210,51, 0,0,
0,0, 0,0, 211,51, 0,0,
212,51, 0,0, 212,51, 0,0,
0,0, 0,0, 0,0, 212,51,
213,51, 213,51, 213,51, 0,0,
0,0, 211,51, 0,0, 211,51,
0,0, 214,51, 214,51, 214,51,
0,0, 0,0, 212,51, 211,51,
212,51, 211,51, 213,51, 0,0,
213,51, 0,0, 211,51, 0,0,
212,51, 0,0, 212,51, 214,51,
213,51, 214,51, 213,51, 212,51,
0,0, 0,0, 0,0, 213,51,
0,0, 214,51, 0,0, 214,51,
0,0, 214,286, 0,0, 0,0,
214,51, 0,0, 0,0, 0,0,
0,0, 0,0, 213,51, 0,0,
213,51, 0,0, 215,51, 215,51,
215,51, 0,0, 0,0, 214,51,
213,51, 214,51, 213,51, 216,51,
216,51, 216,51, 0,0, 213,51,
0,0, 214,51, 0,0, 214,51,
215,51, 214,286, 215,51, 0,0,
214,51, 217,51, 217,51, 217,51,
0,0, 216,51, 215,287, 216,51,
215,51, 0,0, 0,0, 0,0,
215,288, 215,51, 0,0, 216,51,
0,0, 216,51, 0,0, 217,51,
0,0, 217,51, 216,51, 0,0,
0,0, 0,0, 0,0, 0,0,
215,51, 217,51, 215,51, 217,51,
218,51, 218,51, 218,51, 0,0,
217,51, 216,51, 215,287, 216,51,
215,51, 0,0, 0,0, 0,0,
215,288, 215,51, 0,0, 216,51,
0,0, 216,51, 218,51, 217,51,
218,51, 217,51, 216,51, 219,51,
219,51, 219,51, 0,0, 0,0,
218,51, 217,51, 218,51, 217,51,
0,0, 0,0, 0,0, 218,51,
217,51, 0,0, 0,0, 0,0,
0,0, 219,51, 0,0, 219,51,
0,0, 0,0, 220,51, 220,51,
220,51, 0,0, 218,51, 219,51,
218,51, 219,51, 0,0, 0,0,
0,0, 0,0, 219,51, 0,0,
218,51, 0,0, 218,51, 0,0,
220,51, 0,0, 220,51, 218,51,
0,0, 221,51, 221,51, 221,51,
0,0, 219,51, 220,51, 219,51,
220,51, 0,0, 0,0, 0,0,
0,0, 220,51, 0,0, 219,51,
0,0, 219,51, 0,0, 221,51,
0,0, 221,51, 219,51, 0,0,
222,51, 222,51, 222,51, 0,0,
220,51, 221,51, 220,51, 221,51,
0,0, 0,0, 0,0, 0,0,
221,51, 0,0, 220,51, 0,0,
220,51, 0,0, 222,51, 0,0,
222,51, 220,51, 0,0, 223,51,
223,51, 223,51, 0,0, 221,51,
222,51, 221,51, 222,51, 0,0,
0,0, 0,0, 0,0, 222,51,
0,0, 221,51, 0,0, 221,51,
0,0, 223,51, 0,0, 223,51,
221,51, 0,0, 224,51, 224,51,
224,51, 0,0, 222,51, 223,51,
222,51, 223,51, 0,0, 0,0,
0,0, 0,0, 223,51, 0,0,
222,51, 0,0, 222,51, 0,0,
224,51, 0,0, 224,51, 222,51,
0,0, 225,51, 225,51, 225,51,
0,0, 223,51, 224,51, 223,51,
224,51, 0,0, 0,0, 0,0,
0,0, 224,51, 0,0, 223,51,
0,0, 223,51, 0,0, 225,51,
0,0, 225,51, 223,51, 0,0,
226,51, 226,51, 226,51, 0,0,
224,51, 225,51, 224,51, 225,51,
0,0, 0,0, 0,0, 0,0,
225,51, 0,0, 224,51, 0,0,
224,51, 0,0, 226,51, 0,0,
226,51, 224,51, 0,0, 227,51,
227,51, 227,51, 0,0, 225,51,
226,51, 225,51, 226,51, 0,0,
0,0, 0,0, 0,0, 226,51,
0,0, 225,51, 0,0, 225,51,
0,0, 227,51, 0,0, 227,51,
225,51, 0,0, 228,51, 228,51,
228,51, 0,0, 226,51, 227,51,
226,51, 227,51, 0,0, 0,0,
0,0, 0,0, 227,51, 0,0,
226,51, 0,0, 226,51, 0,0,
228,51, 0,0, 228,51, 226,51,
0,0, 229,51, 229,51, 229,51,
0,0, 227,51, 228,51, 227,51,
228,51, 0,0, 0,0, 0,0,
0,0, 228,51, 0,0, 227,51,
0,0, 227,51, 0,0, 229,51,
0,0, 229,51, 227,51, 0,0,
230,51, 230,51, 230,51, 0,0,
228,51, 229,51, 228,51, 229,51,
0,0, 0,0, 0,0, 0,0,
229,51, 0,0, 228,51, 0,0,
228,51, 0,0, 230,51, 0,0,
230,51, 228,51, 0,0, 231,51,
231,51, 231,51, 0,0, 229,51,
230,51, 229,51, 230,51, 0,0,
0,0, 0,0, 0,0, 230,51,
0,0, 229,51, 0,0, 229,51,
0,0, 231,51, 0,0, 231,51,
229,51, 0,0, 232,51, 232,51,
232,51, 0,0, 230,51, 231,51,
230,51, 231,51, 0,0, 0,0,
0,0, 0,0, 231,51, 0,0,
230,51, 0,0, 230,51, 0,0,
232,51, 0,0, 232,51, 230,51,
0,0, 233,51, 233,51, 233,51,
0,0, 231,51, 232,51, 231,51,
232,51, 0,0, 0,0, 0,0,
0,0, 232,51, 0,0, 231,51,
0,0, 231,51, 0,0, 233,51,
0,0, 233,51, 231,51, 0,0,
234,51, 234,51, 234,51, 0,0,
232,51, 233,51, 232,51, 233,51,
0,0, 0,0, 0,0, 0,0,
233,51, 0,0, 232,51, 0,0,
232,51, 0,0, 234,51, 0,0,
234,51, 232,51, 0,0, 235,51,
235,51, 235,51, 0,0, 233,51,
234,51, 233,51, 234,51, 0,0,
0,0, 0,0, 0,0, 234,51,
0,0, 233,51, 0,0, 233,51,
0,0, 235,51, 0,0, 235,51,
233,51, 0,0, 236,51, 236,51,
236,51, 0,0, 234,51, 235,51,
234,51, 235,51, 0,0, 0,0,
0,0, 0,0, 235,51, 0,0,
234,51, 0,0, 234,51, 0,0,
236,51, 0,0, 236,51, 234,51,
0,0, 237,51, 237,51, 237,51,
0,0, 235,51, 236,51, 235,51,
236,51, 0,0, 0,0, 0,0,
0,0, 236,51, 0,0, 235,51,
0,0, 235,51, 0,0, 237,51,
0,0, 237,51, 235,51, 0,0,
245,51, 245,51, 245,51, 0,0,
236,51, 237,51, 236,51, 237,51,
0,0, 0,0, 0,0, 0,0,
237,51, 237,289, 236,51, 0,0,
236,51, 0,0, 245,51, 0,0,
245,51, 236,51, 0,0, 246,51,
246,51, 246,51, 0,0, 237,51,
245,51, 237,51, 245,51, 0,0,
0,0, 0,0, 0,0, 245,51,
0,0, 237,51, 0,0, 237,51,
0,0, 246,51, 0,0, 246,51,
237,51, 237,289, 247,51, 247,51,
247,51, 0,0, 245,51, 246,51,
245,51, 246,51, 0,0, 0,0,
0,0, 0,0, 246,51, 0,0,
245,51, 0,0, 245,51, 0,0,
247,51, 0,0, 247,51, 245,51,
0,0, 248,51, 248,51, 248,51,
0,0, 246,51, 247,51, 246,51,
247,290, 0,0, 0,0, 0,0,
0,0, 247,51, 0,0, 246,51,
0,0, 246,51, 0,0, 248,51,
0,0, 248,51, 246,51, 0,0,
249,51, 249,51, 249,51, 0,0,
247,51, 248,51, 247,51, 248,51,
0,0, 0,0, 0,0, 0,0,
248,51, 0,0, 247,51, 0,0,
247,290, 0,0, 249,51, 0,0,
249,51, 247,51, 0,0, 250,51,
250,51, 250,51, 0,0, 248,51,
249,51, 248,51, 249,51, 0,0,
0,0, 0,0, 0,0, 249,51,
0,0, 248,51, 0,0, 248,51,
0,0, 250,51, 0,0, 250,51,
248,51, 0,0, 251,51, 251,51,
251,51, 0,0, 249,51, 250,51,
249,51, 250,51, 0,0, 0,0,
0,0, 0,0, 250,51, 0,0,
249,51, 0,0, 249,51, 0,0,
251,51, 0,0, 251,51, 249,51,
0,0, 252,51, 252,51, 252,51,
0,0, 250,51, 251,51, 250,51,
251,51, 0,0, 0,0, 0,0,
0,0, 251,51, 0,0, 250,51,
0,0, 250,51, 0,0, 252,51,
0,0, 252,51, 250,51, 0,0,
253,51, 253,51, 253,51, 0,0,
251,51, 252,51, 251,51, 252,51,
0,0, 0,0, 0,0, 0,0,
252,51, 0,0, 251,51, 0,0,
251,51, 0,0, 253,51, 0,0,
253,51, 251,51, 0,0, 254,51,
254,51, 254,51, 0,0, 252,51,
253,51, 252,51, 253,51, 0,0,
0,0, 0,0, 0,0, 253,51,
0,0, 252,51, 0,0, 252,51,
0,0, 254,51, 0,0, 254,51,
252,51, 0,0, 255,51, 255,51,
255,51, 0,0, 253,51, 254,51,
253,51, 254,51, 254,291, 0,0,
0,0, 0,0, 254,51, 0,0,
253,51, 0,0, 253,51, 0,0,
255,51, 0,0, 255,51, 253,51,
0,0, 255,292, 0,0, 0,0,
0,0, 254,51, 255,51, 254,51,
255,51, 256,51, 256,51, 256,51,
0,0, 255,51, 0,0, 254,51,
0,0, 254,51, 254,291, 0,0,
0,0, 0,0, 254,51, 257,51,
257,51, 257,51, 0,0, 256,51,
255,51, 256,51, 255,51, 0,0,
0,0, 255,292, 0,0, 0,0,
0,0, 256,51, 255,51, 256,51,
255,51, 257,51, 0,0, 257,51,
256,51, 255,51, 256,293, 0,0,
0,0, 0,0, 0,0, 257,51,
0,0, 257,51, 258,51, 258,51,
258,51, 0,0, 257,51, 256,51,
0,0, 256,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 256,51, 0,0, 256,51,
258,51, 257,51, 258,51, 257,51,
256,51, 0,0, 256,293, 0,0,
0,0, 0,0, 258,51, 257,51,
258,51, 257,51, 0,0, 0,0,
0,0, 258,51, 257,51, 0,0,
259,51, 259,51, 259,51, 260,51,
260,51, 260,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
258,51, 0,0, 258,51, 0,0,
0,0, 0,0, 259,51, 0,0,
259,51, 260,51, 258,51, 260,51,
258,51, 0,0, 0,0, 0,0,
259,51, 258,51, 259,51, 260,51,
0,0, 260,51, 259,294, 259,51,
0,0, 0,0, 260,51, 0,0,
0,0, 261,51, 261,51, 261,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 259,51, 0,0,
259,51, 260,51, 0,0, 260,51,
0,0, 0,0, 0,0, 261,51,
259,51, 261,51, 259,51, 260,51,
0,0, 260,51, 259,294, 259,51,
0,0, 261,51, 260,51, 261,51,
262,51, 262,51, 262,51, 0,0,
261,51, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 263,51, 263,51,
263,51, 0,0, 262,51, 261,51,
262,51, 261,51, 0,0, 264,51,
264,51, 264,51, 0,0, 0,0,
262,51, 261,51, 262,51, 261,51,
263,51, 0,0, 263,51, 262,51,
261,51, 0,0, 0,0, 0,0,
0,0, 264,51, 263,51, 264,51,
263,51, 0,0, 0,0, 0,0,
0,0, 263,51, 262,51, 264,51,
262,51, 264,51, 0,0, 0,0,
0,0, 0,0, 264,51, 0,0,
262,51, 0,0, 262,51, 0,0,
263,51, 0,0, 263,51, 262,51,
265,51, 265,51, 265,51, 0,0,
0,0, 264,51, 263,51, 264,51,
263,51, 266,51, 266,51, 266,51,
0,0, 263,51, 0,0, 264,51,
0,0, 264,51, 265,51, 0,0,
265,51, 0,0, 264,51, 267,51,
267,51, 267,51, 0,0, 266,51,
265,51, 266,51, 265,51, 0,0,
0,0, 0,0, 0,0, 265,51,
0,0, 266,51, 0,0, 266,51,
0,0, 267,51, 0,0, 267,51,
266,51, 0,0, 0,0, 0,0,
0,0, 0,0, 265,51, 267,51,
265,51, 267,51, 268,51, 268,51,
268,51, 0,0, 267,51, 266,51,
265,51, 266,51, 265,51, 0,0,
0,0, 0,0, 0,0, 265,51,
0,0, 266,51, 0,0, 266,51,
268,51, 267,51, 268,51, 267,51,
266,51, 269,51, 269,51, 269,51,
0,0, 0,0, 268,51, 267,51,
268,51, 267,51, 0,0, 0,0,
0,0, 268,51, 267,51, 0,0,
0,0, 0,0, 0,0, 269,51,
0,0, 269,51, 0,0, 0,0,
270,51, 270,51, 270,51, 0,0,
268,51, 269,51, 268,51, 269,51,
0,0, 0,0, 0,0, 0,0,
269,51, 0,0, 268,51, 0,0,
268,51, 0,0, 270,51, 0,0,
270,51, 268,51, 0,0, 271,51,
271,51, 271,51, 0,0, 269,51,
270,51, 269,51, 270,51, 0,0,
0,0, 0,0, 0,0, 270,51,
0,0, 269,51, 0,0, 269,51,
0,0, 271,51, 0,0, 271,51,
269,51, 0,0, 272,51, 272,51,
272,51, 0,0, 270,51, 271,51,
270,51, 271,51, 0,0, 0,0,
0,0, 0,0, 271,51, 0,0,
270,51, 0,0, 270,51, 0,0,
272,51, 0,0, 272,51, 270,51,
0,0, 273,51, 273,51, 273,51,
0,0, 271,51, 272,51, 271,51,
272,51, 0,0, 0,0, 0,0,
0,0, 272,51, 0,0, 271,51,
0,0, 271,51, 0,0, 273,51,
0,0, 273,51, 271,51, 0,0,
274,51, 274,51, 274,51, 0,0,
272,51, 273,51, 272,51, 273,51,
0,0, 0,0, 0,0, 0,0,
273,51, 0,0, 272,51, 0,0,
272,51, 0,0, 274,51, 0,0,
274,51, 272,51, 0,0, 275,51,
275,51, 275,51, 0,0, 273,51,
274,51, 273,51, 274,51, 0,0,
0,0, 0,0, 0,0, 274,51,
0,0, 273,51, 0,0, 273,51,
0,0, 275,51, 0,0, 275,51,
273,51, 0,0, 276,51, 276,51,
276,51, 0,0, 274,51, 275,51,
274,51, 275,51, 0,0, 0,0,
0,0, 0,0, 275,51, 0,0,
274,51, 0,0, 274,51, 0,0,
276,51, 0,0, 276,51, 274,51,
0,0, 277,51, 277,51, 277,51,
0,0, 275,51, 276,51, 275,51,
276,51, 0,0, 0,0, 0,0,
0,0, 276,51, 0,0, 275,51,
0,0, 275,51, 0,0, 277,51,
0,0, 277,51, 275,51, 0,0,
278,51, 278,51, 278,51, 0,0,
276,51, 277,51, 276,51, 277,51,
0,0, 0,0, 0,0, 0,0,
277,51, 0,0, 276,51, 0,0,
276,51, 0,0, 278,51, 0,0,
278,51, 276,51, 0,0, 279,51,
279,51, 279,51, 0,0, 277,51,
278,51, 277,51, 278,51, 0,0,
0,0, 0,0, 0,0, 278,51,
278,295, 277,51, 0,0, 277,51,
0,0, 279,51, 0,0, 279,51,
277,51, 0,0, 0,0, 0,0,
0,0, 0,0, 278,51, 279,51,
278,51, 279,51, 0,0, 0,0,
0,0, 0,0, 279,51, 0,0,
278,51, 0,0, 278,51, 0,0,
0,0, 0,0, 0,0, 278,51,
278,295, 280,51, 280,51, 280,51,
0,0, 279,51, 0,0, 279,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 279,51,
0,0, 279,51, 0,0, 280,51,
280,296, 280,51, 279,51, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 280,51, 280,297, 280,51,
0,0, 280,298, 0,0, 0,0,
280,51, 0,0, 0,0, 281,51,
281,51, 281,51, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 280,51,
280,296, 280,51, 0,0, 0,0,
0,0, 281,51, 0,0, 281,51,
0,0, 280,51, 280,297, 280,51,
0,0, 280,298, 0,0, 281,51,
280,51, 281,51, 282,51, 282,51,
282,51, 0,0, 281,51, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
283,51, 283,51, 283,51, 0,0,
282,51, 281,51, 282,51, 281,51,
0,0, 284,51, 284,51, 284,51,
0,0, 0,0, 282,51, 281,51,
282,51, 281,51, 283,51, 0,0,
283,51, 282,51, 281,51, 0,0,
0,0, 0,0, 0,0, 284,51,
283,51, 284,51, 283,51, 0,0,
0,0, 0,0, 0,0, 283,51,
282,51, 284,51, 282,51, 284,51,
0,0, 0,0, 0,0, 0,0,
284,51, 284,299, 282,51, 0,0,
282,51, 0,0, 283,51, 0,0,
283,51, 282,51, 285,51, 285,51,
285,51, 0,0, 0,0, 284,51,
283,51, 284,51, 283,51, 286,51,
286,51, 286,51, 0,0, 283,51,
0,0, 284,51, 0,0, 284,51,
285,51, 0,0, 285,51, 0,0,
284,51, 284,299, 0,0, 0,0,
0,0, 286,51, 285,51, 286,51,
285,51, 0,0, 0,0, 0,0,
0,0, 285,51, 285,300, 286,51,
0,0, 286,51, 0,0, 0,0,
0,0, 0,0, 286,51, 287,51,
287,51, 287,51, 0,0, 0,0,
285,51, 0,0, 285,51, 0,0,
288,51, 288,51, 288,51, 0,0,
0,0, 286,51, 285,51, 286,51,
285,51, 287,51, 0,0, 287,51,
0,0, 285,51, 285,300, 286,51,
0,0, 286,51, 288,51, 287,51,
288,51, 287,51, 286,51, 0,0,
0,0, 0,0, 287,51, 0,0,
288,51, 0,0, 288,51, 0,0,
0,0, 0,0, 0,0, 288,51,
289,51, 289,51, 289,51, 0,0,
0,0, 287,51, 0,0, 287,51,
0,0, 290,51, 290,51, 290,51,
0,0, 0,0, 288,51, 287,51,
288,51, 287,51, 289,51, 0,0,
289,51, 0,0, 287,51, 0,0,
288,51, 0,0, 288,51, 290,51,
289,51, 290,51, 289,51, 288,51,
0,0, 0,0, 0,0, 289,51,
0,0, 290,51, 0,0, 290,51,
0,0, 0,0, 0,0, 0,0,
290,51, 291,51, 291,51, 291,51,
0,0, 0,0, 289,51, 0,0,
289,51, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 290,51,
289,51, 290,51, 289,51, 291,51,
0,0, 291,51, 0,0, 289,51,
0,0, 290,51, 0,0, 290,51,
0,0, 291,51, 0,0, 291,51,
290,51, 0,0, 0,0, 0,0,
291,51, 292,51, 292,51, 292,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 293,51, 293,51,
293,51, 0,0, 0,0, 291,51,
0,0, 291,51, 292,301, 292,51,
0,0, 292,51, 0,0, 0,0,
0,0, 291,51, 0,0, 291,51,
293,51, 292,51, 293,302, 292,51,
291,51, 0,0, 0,0, 0,0,
292,51, 0,0, 293,51, 0,0,
293,51, 0,0, 0,0, 0,0,
0,0, 293,51, 294,51, 294,51,
294,51, 0,0, 292,301, 292,51,
0,0, 292,51, 0,0, 295,51,
295,51, 295,51, 0,0, 0,0,
293,51, 292,51, 293,302, 292,51,
294,51, 0,0, 294,51, 0,0,
292,51, 0,0, 293,51, 0,0,
293,51, 295,51, 294,51, 295,51,
294,51, 293,51, 0,0, 0,0,
0,0, 294,51, 0,0, 295,51,
0,0, 295,51, 0,0, 0,0,
0,0, 0,0, 295,51, 296,51,
296,51, 296,51, 0,0, 0,0,
294,51, 0,0, 294,51, 0,0,
297,51, 297,51, 297,51, 0,0,
0,0, 295,51, 294,51, 295,51,
294,51, 296,51, 0,0, 296,51,
0,0, 294,51, 0,0, 295,51,
0,0, 295,51, 297,51, 296,51,
297,51, 296,51, 295,51, 0,0,
0,0, 0,0, 296,51, 0,0,
297,51, 0,0, 297,51, 0,0,
0,0, 0,0, 0,0, 297,51,
298,51, 298,51, 298,51, 0,0,
0,0, 296,51, 0,0, 296,51,
0,0, 299,51, 299,51, 299,51,
0,0, 0,0, 297,51, 296,51,
297,51, 296,51, 298,51, 0,0,
298,51, 0,0, 296,51, 0,0,
297,51, 0,0, 297,51, 299,51,
298,51, 299,51, 298,51, 297,51,
0,0, 0,0, 0,0, 298,51,
0,0, 299,51, 0,0, 299,51,
0,0, 0,0, 0,0, 0,0,
299,51, 300,51, 300,51, 300,51,
0,0, 0,0, 298,51, 0,0,
298,51, 0,0, 301,51, 301,51,
301,51, 0,0, 0,0, 299,51,
298,51, 299,51, 298,51, 300,51,
0,0, 300,51, 0,0, 298,51,
0,0, 299,51, 0,0, 299,51,
301,51, 300,51, 301,51, 300,51,
299,51, 0,0, 0,0, 0,0,
300,51, 0,0, 301,303, 0,0,
301,51, 0,0, 0,0, 0,0,
0,0, 301,51, 302,51, 302,51,
302,51, 0,0, 0,0, 300,51,
0,0, 300,51, 0,0, 303,51,
303,51, 303,51, 0,0, 0,0,
301,51, 300,51, 301,51, 300,51,
302,51, 0,0, 302,51, 302,304,
300,51, 0,0, 301,303, 0,0,
301,51, 303,51, 302,51, 303,51,
302,51, 301,51, 0,0, 0,0,
0,0, 302,51, 0,0, 303,51,
0,0, 303,51, 0,0, 0,0,
0,0, 0,0, 303,51, 304,51,
304,51, 304,51, 0,0, 0,0,
302,51, 0,0, 302,51, 302,304,
0,0, 0,0, 0,0, 0,0,
0,0, 303,51, 302,51, 303,51,
302,51, 304,51, 0,0, 304,51,
0,0, 302,51, 0,0, 303,51,
0,0, 303,51, 0,0, 304,51,
0,0, 304,51, 303,51, 0,0,
0,0, 0,0, 304,51, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 0,0,
0,0, 304,51, 0,0, 304,51,
0,0, 0,0, 0,0, 0,0,
0,0, 0,0, 0,0, 304,51,
0,0, 304,51, 0,0, 0,0,
0,0, 0,0, 304,51, 0,0,
0,0};
struct yysvf yysvec[] ={
0, 0, 0,
yycrank+-1, 0, 0,
yycrank+-57, yysvec+1, 0,
yycrank+0, 0, yyvstop+1,
yycrank+4, 0, yyvstop+3,
yycrank+0, 0, yyvstop+6,
yycrank+-91, 0, yyvstop+8,
yycrank+133, 0, yyvstop+10,
yycrank+-195, 0, yyvstop+12,
yycrank+56, 0, yyvstop+14,
yycrank+78, 0, yyvstop+16,
yycrank+160, 0, yyvstop+18,
yycrank+-238, 0, yyvstop+21,
yycrank+34, 0, yyvstop+24,
yycrank+33, 0, yyvstop+26,
yycrank+0, 0, yyvstop+28,
yycrank+280, 0, yyvstop+31,
yycrank+355, yysvec+16, yyvstop+35,
yycrank+358, yysvec+16, yyvstop+39,
yycrank+411, yysvec+16, yyvstop+42,
yycrank+449, yysvec+16, yyvstop+45,
yycrank+485, yysvec+16, yyvstop+48,
yycrank+506, yysvec+16, yyvstop+51,
yycrank+559, yysvec+16, yyvstop+54,
yycrank+627, yysvec+16, yyvstop+57,
yycrank+697, yysvec+16, yyvstop+60,
yycrank+765, yysvec+16, yyvstop+63,
yycrank+774, yysvec+16, yyvstop+66,
yycrank+829, yysvec+16, yyvstop+69,
yycrank+867, yysvec+16, yyvstop+72,
yycrank+908, yysvec+16, yyvstop+75,
yycrank+962, yysvec+16, yyvstop+78,
yycrank+691, yysvec+16, yyvstop+81,
yycrank+1030, yysvec+16, yyvstop+84,
yycrank+1033, yysvec+16, yyvstop+88,
yycrank+0, yysvec+4, yyvstop+92,
yycrank+-9, yysvec+6, 0,
yycrank+-10, yysvec+6, yyvstop+94,
yycrank+0, yysvec+7, yyvstop+96,
yycrank+-1111, 0, 0,
yycrank+-404, yysvec+39, 0,
yycrank+9, yysvec+9, 0,
yycrank+0, yysvec+10, yyvstop+98,
yycrank+170, 0, 0,
yycrank+0, yysvec+11, yyvstop+100,
yycrank+0, yysvec+12, yyvstop+102,
yycrank+0, 0, yyvstop+104,
yycrank+0, 0, yyvstop+106,
yycrank+0, 0, yyvstop+108,
yycrank+1019, yysvec+16, yyvstop+110,
yycrank+1153, yysvec+16, yyvstop+113,
yycrank+1156, yysvec+16, yyvstop+116,
yycrank+1159, yysvec+16, yyvstop+118,
yycrank+1227, yysvec+16, yyvstop+121,
yycrank+1231, yysvec+16, yyvstop+123,
yycrank+1240, yysvec+16, yyvstop+125,
yycrank+1295, yysvec+16, yyvstop+127,
yycrank+1304, yysvec+16, yyvstop+129,
yycrank+1308, yysvec+16, yyvstop+132,
yycrank+1349, yysvec+16, yyvstop+135,
yycrank+1372, yysvec+16, yyvstop+138,
yycrank+1385, yysvec+16, yyvstop+140,
yycrank+1440, yysvec+16, yyvstop+142,
yycrank+1449, yysvec+16, yyvstop+144,
yycrank+1494, yysvec+16, yyvstop+146,
yycrank+1503, yysvec+16, yyvstop+148,
yycrank+1548, yysvec+16, yyvstop+150,
yycrank+1557, yysvec+16, yyvstop+153,
yycrank+1571, yysvec+16, yyvstop+155,
yycrank+1602, yysvec+16, yyvstop+158,
yycrank+1640, yysvec+16, yyvstop+160,
yycrank+1643, yysvec+16, yyvstop+162,
yycrank+1681, yysvec+16, yyvstop+164,
yycrank+1717, yysvec+16, yyvstop+166,
yycrank+1753, yysvec+16, yyvstop+168,
yycrank+1789, yysvec+16, yyvstop+170,
yycrank+1825, yysvec+16, yyvstop+172,
yycrank+1866, yysvec+16, yyvstop+174,
yycrank+1879, yysvec+16, yyvstop+176,
yycrank+1920, yysvec+16, yyvstop+178,
yycrank+1958, yysvec+16, yyvstop+180,
yycrank+1999, yysvec+16, yyvstop+182,
yycrank+2012, yysvec+16, yyvstop+184,
yycrank+0, 0, yyvstop+186,
yycrank+2069, yysvec+16, yyvstop+188,
yycrank+2080, yysvec+16, yyvstop+191,
yycrank+2083, yysvec+16, yyvstop+194,
yycrank+2137, yysvec+16, yyvstop+196,
yycrank+2160, yysvec+16, yyvstop+198,
yycrank+2173, yysvec+16, yyvstop+201,
yycrank+2214, yysvec+16, yyvstop+203,
yycrank+2228, yysvec+16, yyvstop+205,
yycrank+2237, yysvec+16, yyvstop+207,
yycrank+2291, yysvec+16, yyvstop+210,
yycrank+2305, yysvec+16, yyvstop+213,
yycrank+2314, yysvec+16, yyvstop+215,
yycrank+2368, yysvec+16, yyvstop+217,
yycrank+2389, yysvec+16, yyvstop+219,
yycrank+0, 0, yyvstop+222,
yycrank+2425, yysvec+16, yyvstop+224,
yycrank+2461, yysvec+16, yyvstop+226,
yycrank+2470, yysvec+16, yyvstop+228,
yycrank+2506, yysvec+16, yyvstop+231,
yycrank+2515, yysvec+16, yyvstop+233,
yycrank+2551, yysvec+16, yyvstop+235,
yycrank+2594, yysvec+16, yyvstop+237,
yycrank+2607, yysvec+16, yyvstop+239,
yycrank+2648, yysvec+16, yyvstop+241,
yycrank+2662, yysvec+16, yyvstop+244,
yycrank+2671, yysvec+16, yyvstop+247,
yycrank+2716, yysvec+16, yyvstop+249,
yycrank+2739, yysvec+16, yyvstop+251,
yycrank+2752, yysvec+16, yyvstop+253,
yycrank+2815, yysvec+16, yyvstop+255,
yycrank+2821, yysvec+16, yyvstop+257,
yycrank+2878, yysvec+16, yyvstop+259,
yycrank+2889, yysvec+16, yyvstop+261,
yycrank+2932, yysvec+16, yyvstop+263,
yycrank+2970, yysvec+16, yyvstop+265,
yycrank+3011, yysvec+16, yyvstop+267,
yycrank+3024, yysvec+16, yyvstop+269,
yycrank+3065, yysvec+16, yyvstop+271,
yycrank+3101, yysvec+16, yyvstop+273,
yycrank+3110, yysvec+16, yyvstop+275,
yycrank+3146, yysvec+16, yyvstop+277,
yycrank+0, 0, yyvstop+280,
yycrank+3155, yysvec+16, yyvstop+282,
yycrank+0, 0, yyvstop+285,
yycrank+-11, yysvec+39, 0,
yycrank+-14, yysvec+39, yyvstop+287,
yycrank+-15, yysvec+39, 0,
yycrank+-17, yysvec+39, 0,
yycrank+-19, yysvec+39, 0,
yycrank+-20, yysvec+39, 0,
yycrank+-23, yysvec+39, 0,
yycrank+-104, yysvec+39, 0,
yycrank+0, yysvec+43, yyvstop+289,
yycrank+3191, yysvec+16, yyvstop+291,
yycrank+3200, yysvec+16, yyvstop+294,
yycrank+3236, yysvec+16, yyvstop+297,
yycrank+3245, yysvec+16, yyvstop+300,
yycrank+3290, yysvec+16, yyvstop+303,
yycrank+3299, yysvec+16, yyvstop+305,
yycrank+3335, yysvec+16, yyvstop+308,
yycrank+3371, yysvec+16, yyvstop+311,
yycrank+3380, yysvec+16, yyvstop+314,
yycrank+3416, yysvec+16, yyvstop+317,
yycrank+3425, yysvec+16, yyvstop+319,
yycrank+3479, yysvec+16, yyvstop+321,
yycrank+3488, yysvec+16, yyvstop+323,
yycrank+3502, yysvec+16, yyvstop+325,
yycrank+3533, yysvec+16, yyvstop+328,
yycrank+3574, yysvec+16, yyvstop+331,
yycrank+3571, yysvec+16, yyvstop+334,
yycrank+3612, yysvec+16, yyvstop+337,
yycrank+3643, yysvec+16, yyvstop+340,
yycrank+3657, yysvec+16, yyvstop+343,
yycrank+3700, yysvec+16, yyvstop+346,
yycrank+3711, yysvec+16, yyvstop+348,
yycrank+3714, yysvec+16, yyvstop+350,
yycrank+3757, yysvec+16, yyvstop+353,
yycrank+3768, yysvec+16, yyvstop+355,
yycrank+3811, yysvec+16, yyvstop+358,
yycrank+3814, yysvec+16, yyvstop+361,
yycrank+3825, yysvec+16, yyvstop+364,
yycrank+3868, yysvec+16, yyvstop+367,
yycrank+3882, yysvec+16, yyvstop+370,
yycrank+3913, yysvec+16, yyvstop+373,
yycrank+3936, yysvec+16, yyvstop+376,
yycrank+3959, yysvec+16, yyvstop+379,
yycrank+3982, yysvec+16, yyvstop+382,
yycrank+4005, yysvec+16, yyvstop+385,
yycrank+4028, yysvec+16, yyvstop+388,
yycrank+4051, yysvec+16, yyvstop+391,
yycrank+4074, yysvec+16, yyvstop+394,
yycrank+4097, yysvec+16, yyvstop+397,
yycrank+4120, yysvec+16, yyvstop+400,
yycrank+4143, yysvec+16, yyvstop+403,
yycrank+4166, yysvec+16, yyvstop+406,
yycrank+4189, yysvec+16, yyvstop+409,
yycrank+4234, yysvec+16, yyvstop+411,
yycrank+4245, yysvec+16, yyvstop+413,
yycrank+4288, yysvec+16, yyvstop+415,
yycrank+4326, yysvec+16, yyvstop+417,
yycrank+4367, yysvec+16, yyvstop+419,
yycrank+4380, yysvec+16, yyvstop+421,
yycrank+4421, yysvec+16, yyvstop+423,
yycrank+4435, yysvec+16, yyvstop+425,
yycrank+4478, yysvec+16, yyvstop+428,
yycrank+4489, yysvec+16, yyvstop+430,
yycrank+4492, yysvec+16, yyvstop+433,
yycrank+4535, yysvec+16, yyvstop+436,
yycrank+4546, yysvec+16, yyvstop+439,
yycrank+4589, yysvec+16, yyvstop+442,
yycrank+4603, yysvec+16, yyvstop+444,
yycrank+4644, yysvec+16, yyvstop+447,
yycrank+4657, yysvec+16, yyvstop+450,
yycrank+4698, yysvec+16, yyvstop+453,
yycrank+4712, yysvec+16, yyvstop+455,
yycrank+4721, yysvec+16, yyvstop+458,
yycrank+4766, yysvec+16, yyvstop+461,
yycrank+4775, yysvec+16, yyvstop+464,
yycrank+4811, yysvec+16, yyvstop+467,
yycrank+4847, yysvec+16, yyvstop+469,
yycrank+4856, yysvec+16, yyvstop+471,
yycrank+4892, yysvec+16, yyvstop+474,
yycrank+4901, yysvec+16, yyvstop+476,
yycrank+4937, yysvec+16, yyvstop+479,
yycrank+4946, yysvec+16, yyvstop+482,
yycrank+4982, yysvec+16, yyvstop+485,
yycrank+4991, yysvec+16, yyvstop+488,
yycrank+5027, yysvec+16, yyvstop+491,
yycrank+5036, yysvec+16, yyvstop+494,
yycrank+5072, yysvec+16, yyvstop+497,
yycrank+5081, yysvec+16, yyvstop+500,
yycrank+5126, yysvec+16, yyvstop+502,
yycrank+5135, yysvec+16, yyvstop+505,
yycrank+5149, yysvec+16, yyvstop+508,
yycrank+5180, yysvec+16, yyvstop+511,
yycrank+5203, yysvec+16, yyvstop+514,
yycrank+5226, yysvec+16, yyvstop+517,
yycrank+5249, yysvec+16, yyvstop+520,
yycrank+5272, yysvec+16, yyvstop+523,
yycrank+5295, yysvec+16, yyvstop+526,
yycrank+5318, yysvec+16, yyvstop+529,
yycrank+5341, yysvec+16, yyvstop+532,
yycrank+5364, yysvec+16, yyvstop+535,
yycrank+5387, yysvec+16, yyvstop+538,
yycrank+5410, yysvec+16, yyvstop+541,
yycrank+5433, yysvec+16, yyvstop+544,
yycrank+5456, yysvec+16, yyvstop+547,
yycrank+5479, yysvec+16, yyvstop+550,
yycrank+5502, yysvec+16, yyvstop+553,
yycrank+5525, yysvec+16, yyvstop+556,
yycrank+5548, yysvec+16, yyvstop+559,
yycrank+5571, yysvec+16, yyvstop+562,
yycrank+5594, yysvec+16, yyvstop+565,
yycrank+5617, yysvec+16, yyvstop+568,
yycrank+-105, yysvec+39, yyvstop+570,
yycrank+-110, yysvec+39, yyvstop+572,
yycrank+-112, yysvec+39, yyvstop+575,
yycrank+-113, yysvec+39, yyvstop+578,
yycrank+-114, yysvec+39, yyvstop+581,
yycrank+-197, yysvec+39, yyvstop+584,
yycrank+-218, yysvec+39, yyvstop+587,
yycrank+5640, yysvec+16, yyvstop+590,
yycrank+5663, yysvec+16, yyvstop+593,
yycrank+5686, yysvec+16, yyvstop+596,
yycrank+5709, yysvec+16, yyvstop+598,
yycrank+5732, yysvec+16, yyvstop+601,
yycrank+5755, yysvec+16, yyvstop+604,
yycrank+5778, yysvec+16, yyvstop+607,
yycrank+5801, yysvec+16, yyvstop+610,
yycrank+5824, yysvec+16, yyvstop+613,
yycrank+5847, yysvec+16, yyvstop+616,
yycrank+5870, yysvec+16, yyvstop+618,
yycrank+5901, yysvec+16, yyvstop+620,
yycrank+5915, yysvec+16, yyvstop+622,
yycrank+5946, yysvec+16, yyvstop+625,
yycrank+5984, yysvec+16, yyvstop+628,
yycrank+5987, yysvec+16, yyvstop+630,
yycrank+6025, yysvec+16, yyvstop+633,
yycrank+6056, yysvec+16, yyvstop+636,
yycrank+6070, yysvec+16, yyvstop+639,
yycrank+6079, yysvec+16, yyvstop+642,
yycrank+6124, yysvec+16, yyvstop+645,
yycrank+6133, yysvec+16, yyvstop+648,
yycrank+6147, yysvec+16, yyvstop+651,
yycrank+6178, yysvec+16, yyvstop+654,
yycrank+6201, yysvec+16, yyvstop+657,
yycrank+6224, yysvec+16, yyvstop+660,
yycrank+6247, yysvec+16, yyvstop+663,
yycrank+6270, yysvec+16, yyvstop+666,
yycrank+6293, yysvec+16, yyvstop+669,
yycrank+6316, yysvec+16, yyvstop+672,
yycrank+6339, yysvec+16, yyvstop+675,
yycrank+6362, yysvec+16, yyvstop+678,
yycrank+6385, yysvec+16, yyvstop+681,
yycrank+6408, yysvec+16, yyvstop+684,
yycrank+6431, yysvec+16, yyvstop+686,
yycrank+6477, yysvec+16, yyvstop+689,
yycrank+6515, yysvec+16, yyvstop+692,
yycrank+6546, yysvec+16, yyvstop+695,
yycrank+6560, yysvec+16, yyvstop+698,
yycrank+6569, yysvec+16, yyvstop+701,
yycrank+6614, yysvec+16, yyvstop+703,
yycrank+6623, yysvec+16, yyvstop+705,
yycrank+6659, yysvec+16, yyvstop+708,
yycrank+6668, yysvec+16, yyvstop+711,
yycrank+6704, yysvec+16, yyvstop+714,
yycrank+6713, yysvec+16, yyvstop+717,
yycrank+6749, yysvec+16, yyvstop+720,
yycrank+6785, yysvec+16, yyvstop+723,
yycrank+6794, yysvec+16, yyvstop+725,
yycrank+6830, yysvec+16, yyvstop+727,
yycrank+6839, yysvec+16, yyvstop+730,
yycrank+6875, yysvec+16, yyvstop+733,
yycrank+6884, yysvec+16, yyvstop+736,
yycrank+6920, yysvec+16, yyvstop+739,
yycrank+6929, yysvec+16, yyvstop+742,
yycrank+6965, yysvec+16, yyvstop+745,
yycrank+6974, yysvec+16, yyvstop+748,
yycrank+7010, yysvec+16, yyvstop+750,
yycrank+7019, yysvec+16, yyvstop+752,
yycrank+7055, yysvec+16, yyvstop+755,
0, 0, 0};
struct yywork *yytop = yycrank+7170;
struct yysvf *yybgin = yysvec+1;
char yymatch[] ={
00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,011 ,012 ,01 ,01 ,01 ,01 ,01 ,
01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
011 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
'0' ,'0' ,'2' ,'3' ,'3' ,'3' ,'3' ,'3' ,
'8' ,'8' ,01 ,01 ,01 ,01 ,01 ,01 ,
01 ,'A' ,'B' ,'C' ,'D' ,'E' ,'F' ,'G' ,
'H' ,'I' ,'J' ,'K' ,'L' ,'M' ,'N' ,'O' ,
'P' ,'Q' ,'R' ,'S' ,'T' ,'U' ,'V' ,'W' ,
'X' ,'Y' ,'K' ,01 ,01 ,01 ,01 ,'K' ,
01 ,'A' ,'B' ,'C' ,'D' ,'E' ,'F' ,'G' ,
'H' ,'I' ,'J' ,'K' ,'L' ,'M' ,'N' ,'O' ,
'P' ,'Q' ,'R' ,'S' ,'T' ,'U' ,'V' ,'W' ,
'X' ,'Y' ,'K' ,01 ,01 ,01 ,01 ,01 ,
0};
char yyextra[] ={
0,0,0,0,1,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0};
/* ncform 4.1 83/08/11 */
int yylineno =1;
# define YYU(x) x
# define NLSTATE yyprevious=YYNEWLINE
char yytext[YYLMAX];
struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp;
char yysbuf[YYLMAX];
char *yysptr = yysbuf;
int *yyfnd;
extern struct yysvf *yyestate;
int yyprevious = YYNEWLINE;
yylook(){
register struct yysvf *yystate, **lsp;
register struct yywork *yyt;
struct yysvf *yyz;
int yych;
struct yywork *yyr;
# ifdef LEXDEBUG
int debug;
# endif
char *yylastch;
/* start off machines */
# ifdef LEXDEBUG
debug = 0;
# endif
if (!yymorfg)
yylastch = yytext;
else {
yymorfg=0;
yylastch = yytext+yyleng;
}
for(;;){
lsp = yylstate;
yyestate = yystate = yybgin;
if (yyprevious==YYNEWLINE) yystate++;
for (;;){
# ifdef LEXDEBUG
if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1);
# endif
yyt = yystate->yystoff;
if(yyt == yycrank){ /* may not be any transitions */
yyz = yystate->yyother;
if(yyz == 0)break;
if(yyz->yystoff == yycrank)break;
}
*yylastch++ = yych = input();
tryagain:
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"char ");
allprint(yych);
putchar('\n');
}
# endif
yyr = yyt;
if ( (int)yyt > (int)yycrank){
yyt = yyr + yych;
if (yyt <= yytop && yyt->verify+yysvec == yystate){
if(yyt->advance+yysvec == YYLERR) /* error transitions */
{unput(*--yylastch);break;}
*lsp++ = yystate = yyt->advance+yysvec;
goto contin;
}
}
# ifdef YYOPTIM
else if((int)yyt < (int)yycrank) { /* r < yycrank */
yyt = yyr = yycrank+(yycrank-yyt);
# ifdef LEXDEBUG
if(debug)fprintf(yyout,"compressed state\n");
# endif
yyt = yyt + yych;
if(yyt <= yytop && yyt->verify+yysvec == yystate){
if(yyt->advance+yysvec == YYLERR) /* error transitions */
{unput(*--yylastch);break;}
*lsp++ = yystate = yyt->advance+yysvec;
goto contin;
}
yyt = yyr + YYU(yymatch[yych]);
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"try fall back character ");
allprint(YYU(yymatch[yych]));
putchar('\n');
}
# endif
if(yyt <= yytop && yyt->verify+yysvec == yystate){
if(yyt->advance+yysvec == YYLERR) /* error transition */
{unput(*--yylastch);break;}
*lsp++ = yystate = yyt->advance+yysvec;
goto contin;
}
}
if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){
# ifdef LEXDEBUG
if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1);
# endif
goto tryagain;
}
# endif
else
{unput(*--yylastch);break;}
contin:
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"state %d char ",yystate-yysvec-1);
allprint(yych);
putchar('\n');
}
# endif
;
}
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1);
allprint(yych);
putchar('\n');
}
# endif
while (lsp-- > yylstate){
*yylastch-- = 0;
if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){
yyolsp = lsp;
if(yyextra[*yyfnd]){ /* must backup */
while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){
lsp--;
unput(*yylastch--);
}
}
yyprevious = YYU(*yylastch);
yylsp = lsp;
yyleng = yylastch-yytext+1;
yytext[yyleng] = 0;
# ifdef LEXDEBUG
if(debug){
fprintf(yyout,"\nmatch ");
sprint(yytext);
fprintf(yyout," action %d\n",*yyfnd);
}
# endif
return(*yyfnd++);
}
unput(*yylastch);
}
if (yytext[0] == 0 /* && feof(yyin) */)
{
yysptr=yysbuf;
return(0);
}
yyprevious = yytext[0] = input();
if (yyprevious>0)
output(yyprevious);
yylastch=yytext;
# ifdef LEXDEBUG
if(debug)putchar('\n');
# endif
}
}
yyback(p, m)
int *p;
{
if (p==0) return(0);
while (*p)
{
if (*p++ == m)
return(1);
}
return(0);
}
/* the following are only used in the lex library */
yyinput(){
return(input());
}
yyoutput(c)
int c; {
output(c);
}
yyunput(c)
int c; {
unput(c);
}